R Shiny splitLayout和selectInput问题

Joh*_*ohn 6 r shiny

当我在R Shiny中组合splitLayout和selectInput时,有一些错误.

下拉列表中的选项无法正确显示.

我们如何解决这个问题.

请检查可重现的代码.

library(shiny)

server <- function(input, session, output) {

  output$select_1 = renderUI({
    selectInput("select_input","select", choices = LETTERS)
  })



}

ui <- fluidPage(
  splitLayout(
    uiOutput("select_1")
  )
)

shinyApp(ui = ui, server = server)
Run Code Online (Sandbox Code Playgroud)

我有8个selectInputs,我想在一行中并排放置.

使用fluidrow不正常,因为列宽只能是整数.

我想知道是否有其他方法可以做到这一点.

Xio*_*Jin 14

这是一个潜在的解决方案.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)
Run Code Online (Sandbox Code Playgroud)


Dav*_*vid 8

我尝试了@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")
)
Run Code Online (Sandbox Code Playgroud)