我有一个被动的checkboxGroupInput
将用户上传的输入文件中的列名作为值。输入文件有时可能有一百多列,因此我使用this answer将选项对齐到多列。它在大多数情况下运行良好,但有时列名称非常大,因此标签不在框内:
知道如何克服这个问题?
我已经使用mtcars
数据集准备了示例代码(仅为了示例而使用row.names
代替colnames
。
library(shiny)
library(shinydashboard)
sidebar <- dashboardSidebar(
sidebarMenu(
busyIndicator(text="Loading..."),
tags$head(
tags$style(
HTML('
.multicol {
-webkit-column-count: 3; /* Chrome, Safari, Opera */
-moz-column-count: 3; /* Firefox */
column-count: 3;
-moz-column-fill: auto;
-column-fill: auto;
}
')
)
),
menuItem("Plot result", tabName = "scatterplot", icon = icon("area-chart"))
)
)
body <- dashboardBody(
tabItems(
tabItem(tabName = "scatterplot",
box(
title="CHECKBOX",solidHeader = TRUE, status="primary",
tags$div(align = 'left',
class = 'multicol', uiOutput("covarselect")),
width=2
)
)
)
)
ui=dashboardPage(
dashboardHeader(title = "analysis"),
sidebar,
body
)
server <- function(input, output,session) {
output$covarselect <- renderUI({
mtcars <- datasets::mtcars
row.names(mtcars) <- gsub(" ","",row.names(mtcars))
checkboxGroupInput("carselect","Select any that apply",as.list(row.names(mtcars)),inline=F)
})
}
shinyApp(ui = ui, server = server)
修改
根据Nikhil Nanjappa的建议,我尝试在fiddle中复制该问题,尽管我没有成功复制box
,如shinydashboard