首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Shiny中,避免selectInput下拉菜单与其下面的操作按钮重叠

在Shiny中,避免selectInput下拉菜单与其下面的操作按钮重叠
EN

Stack Overflow用户
提问于 2019-03-01 04:24:16
回答 1查看 806关注 0票数 0

这似乎是一个非常简单的问题,但我已经搜索了一遍又一遍!

我正在使用selectize从selectInput下拉菜单的列表中选择多个项目。在它下面,我有一个Submit按钮,用来对列表执行一些操作。当您添加多个条目时,提交框会增长,并且按钮会动态地向下移动到侧边栏,但是当您打开下拉菜单查看选项列表时,selectInput按钮是隐藏的。我希望按钮动态地跳下并保持可见,当你打开下拉菜单时,反之,当它关闭时跳回来。

我无论如何都不能...

我知道如何使用CSS.selectify- dropdown -content{ max-height:... }更改dropdown的默认大小,我还可以添加一个间隔符以使Submit按钮始终可见,但一旦选择完项目,这就浪费了空间。

附带的示例代码

代码语言:javascript
复制
library(shiny)
library(shinydashboard)

# long entries that will increase number of lines in the selectInput box
nonsenseWords <-  c(replicate(25,paste0(sample(letters, 10, replace=TRUE),collapse="")))

ui <-
  dashboardPage(
    dashboardHeader(),
    dashboardSidebar(
      fluidRow(style = "margin: 1%",
        selectInput("tall_list", 
                    "Stop covering my buttons!", 
                    nonsenseWords,
                    multiple = TRUE,
                    selected=nonsenseWords[c(1,5,7,11,20)]
                   )
        # The line below puts static space between the dropdown and the submit button -- this is what I want to remove
        # ,tags$div(style = "height: 16em;")
      )
     ,fluidRow(style = "margin: 1%",
         actionButton("submit", "Submit")
      )
    ),
    dashboardBody(
      dataTableOutput("choice")
    )
  )

server <- function(input, output, session) {
  output$choice <- renderDataTable({
    req(input$submit)
    return(data.frame("Chosen Words" = c(input$tall_list)))
  })
}

shinyApp(ui, server)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-01 04:35:46

使用此CSS:

代码语言:javascript
复制
dashboardBody(
  tags$head(
    tags$style(".selectize-dropdown {position: static}")
  ),
  dataTableOutput("choice")
)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54933677

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档