这是我的Shiny UI的简化。我的问题是SelectizeInput的下拉菜单是隐藏的。向下滚动有点痛苦。而且,它看起来不是很好。我尝试过使用z-index来预先设置,但没有取得任何成功。
这是我的代码:
library(shiny)
runApp(list(
ui = fluidPage(
tabsetPanel(id = "tabs",
tabPanel("Search",
fluidRow(
column(12,
inputPanel(
selectizeInput("s1", h4("Select State:"),
choices = state.name),
tags$head(tags$style(".selectize-control.single { width: 400px; z-index: 1; }")),
dateInput("day", h4("Input Date:"), value = Sys.Date())
)
)
)
)
)),
server = function(input,output,session)
{
})
)
基本上,我希望SelectizeInput菜单像DateInput日历一样显示在顶部。
感谢您的帮助!
卡洛斯
答案 0 :(得分:5)
您可以使用selectize.js
库https://github.com/brianreavis/selectize.js/blob/master/docs/usage.md中的选项。 dropdownParent
也许你在寻找:
library(shiny)
runApp(list(
ui = fluidPage(
tabsetPanel(id = "tabs",
tabPanel("Search",
fluidRow(
column(12,
inputPanel(
selectizeInput("s1", h4("Select State:")
, options = list(dropdownParent = 'body')
, choices = state.name),
tags$head(tags$style(".selectize-control.single { width: 400px; z-index: 1; }")),
dateInput("day", h4("Input Date:"), value = Sys.Date())
)
)
)
)
)),
server = function(input,output,session)
{
})
)
或者,您可以查看CSS和类似overflow
属性的内容。见Dropdowns not extending in shiny tabPanel。所以在这种情况下使用
tags$head(tags$style(".tab-content {overflow: visible;}")),