当我在R Shiny中组合splitLayout和selectInput时,有一些错误。
无法正确显示选项下拉列表。
我们如何解决这个问题。
请检查可重现的代码。
onNewIntent()
我有8个selectInputs,我想在一行中并排放置。
使用fluidrow不正常,因为列宽只能是整数。
我想知道是否有其他方法可以做到这一点。
答案 0 :(得分:11)
这是一个潜在的解决方案。下拉菜单中的父div
似乎有overflow: auto
样式,会阻止下拉菜单。更改为visible
会修复此问题。
library(shiny)
server <- function(input, session, output) {
output$select_1 <- renderUI({
selectInput("select_input","select", choices = LETTERS)
})
}
ui <- fluidPage(
splitLayout(
uiOutput("select_1"),
tags$head(tags$style(HTML("
.shiny-split-layout > div {
overflow: visible;
}
")))
)
)
shinyApp(ui = ui, server = server)
答案 1 :(得分:1)
我尝试了@Xiongbing Jin的解决方案,但这并不能完全为我解决问题,而是将我推向了这个解决方案:
# in ui.R
splitLayout(
tags$head(tags$style(HTML(".shiny-split-layout > div {overflow: visible;}"))),
cellWidths = c("0%","50%", "50%"), # note the 0% here at position zero...
selectInput("A", label = "A LBL",),
selectInput("B", label = "B LBL")
)