在我的UI上,我试图将过滤器包裹在面板中。运行该应用程序时,它看起来像下拉菜单,并且相关的复选框位于其“顶部”,而不是包裹在其中。

这是我的意思的图片:http://imgur.com/QJrrseT

可重现的示例:

用户界面

    require(shiny)
    require(devtools)
    library(grDevices)
    library(xlsx)


shinyUI(fluidPage(
  fluidRow(
    column(3,
    wellPanel(
      )),
    column(9,
      fluidRow(
      wellPanel(
          column(3,
              uiOutput("filter1"))
        ))

    ))
))


服务器

shinyServer(function(input, output) {

 output$filter1 <- renderUI({
 selectInput("filter1", label="Filter 1", choices = c("No Filter","a","b"))
 })
})

最佳答案

您可以在wellPanel上添加一些样式以解决该问题:

library(shiny)
runApp(list(ui= fluidPage(
  fluidRow(
    column(3, wellPanel()),
    column(9,
           fluidRow( wellPanel(style = "overflow: hidden;",
             column(3, uiOutput("filter1"))
           ))
    )
  )
)
, server = function(input, output) {

  output$filter1 <- renderUI({
    selectInput("filter1", label="Filter 1", choices = c("No Filter","a","b")
                , selectize = FALSE)
  })
})
)

07-24 09:50