我几乎完成了一个Web应用程序,它允许用户使用textInput
创建的文本输入控件对Web应用程序下的数据框进行子集化。请参阅我的related question以将字符串解析为表达式。
如果我可以增加此文本输入控件的宽度,那将更加用户友好。有人知道怎么做吗?
欢呼任何帮助。
答案 0 :(得分:7)
如果您的textInput
如下:
textInput(inputId="someid", label="somelable", value = 0.0)
tags$head(tags$style(type="text/css", "#someid {width: 150px}")),
你可以添加一些CSS。
或
tags$head(
tags$link(rel = 'stylesheet', type = 'text/css', href = 'styles.css'),
)
并在styles.css
答案 1 :(得分:0)
我为这样的事情创建了一个custom.css
文件。
将custom.css
文件放在app主目录的www
目录中。
将此行添加到custom.css
文件中,以使所有选择的输入符合其容器的整个宽度。
.shiny-input-container:not(.shiny-input-container-inline) {
width: 100%;
}
这对于包含长名称或多个选项的文本输入或下拉列表非常有用。它还使应用程序看起来更加完整。我将所有过滤器放在页面顶部,如果我不强制输入填充容器,则会有很多空白区域。
然后,您可以通过设置包含输入容器的列的宽度,在ui.R文件中轻松控制输入大小。像这样......
fluidRow(
column(4, offset = 0, align = 'center', uiOutput(ns("select_category_type"))),
column(4, offset = 0, align = 'center', uiOutput(ns("select_category_group"))),
column(4, offset = 0, align = 'center', uiOutput(ns("select_category")))
),
fluidRow(
column(6, offset = 3, align = 'center', uiOutput(ns("select_year")))
)
```
您还需要在ui.R文件中加载custom.css文件。如果使用闪亮的仪表板,则可以将此作为dashboardBody
函数中的第一个语句;如果使用标准ui,则可以在fluidPage
函数中执行此操作。
dashboardBody(
includeCSS("www/custom.css"),
tabItems(...