防止 selectInput 换行

Posted

技术标签:

【中文标题】防止 selectInput 换行【英文标题】:Prevent selectInput from wrapping text 【发布时间】:2016-09-06 03:38:30 【问题描述】:

在一个闪亮的应用程序中,有没有办法防止selectInput() 中的下拉文本换行,如下面的屏幕截图所示?每个选项都是一个长文本字符串。我希望下拉菜单在一行上显示每个长字符串,而不是制作巨大的侧边栏。

【问题讨论】:

【参考方案1】:

从here 和here 中汲取灵感,您可以在下拉菜单中添加一些自定义css

这是一个工作示例

library(shiny)

server <- function(input, output) 
    output$distPlot <- renderPlot(
        hist(rnorm(input$obs), col = 'darkgray', border = 'white')
    )


ui <- fluidPage(
    sidebarLayout(
        sidebarPanel(
            sliderInput("obs", "Number of observations:", min = 10, max = 500, value = 100),
            selectizeInput(inputId = "si",
                            label =  "select", 
                            choices = c("the quick brown fox jumped over the lazy dog the quick brown fox jumped over the lazy dog"), 
                            selected = NULL),

            ## Custom css               
            tags$head(
                tags$style(html('
                                .selectize-input 
                                    white-space: nowrap;
                                
                                .selectize-dropdown 
                                    width: 660px !important;
                                '
                                )
                        )
            )

        ),
        mainPanel(plotOutput("distPlot"))
    )
)

shinyApp(ui = ui, server = server)

【讨论】:

有没有办法为每个下拉菜单自定义这个? 很可能是的,但我目前没有这个例子。可能值得提出一个单独的问题,以便更多人看到。 好的,谢谢。问题贴在这里,如果你有兴趣***.com/questions/37298498/…【参考方案2】:

如果你做selectize=False,在

selectInput(id="id",label="label",choices=your_choices, selectize=False)

它不会在您的文本上换行。

【讨论】:

以上是关于防止 selectInput 换行的主要内容,如果未能解决你的问题,请参考以下文章

R/Shiny 的 SelectInput "Selected" 不起作用

R / Shiny selectInput小部件大小

R Shiny - 我无法从selectInput操作中检索选定的输出值

在 selectInput() 中强制没有默认选择

在selectInput中R闪亮的自定义图标/图像

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