当我有选择 > 1000 时,Shiny 不会向我显示整个 selectInput

Posted

技术标签:

【中文标题】当我有选择 > 1000 时,Shiny 不会向我显示整个 selectInput【英文标题】:Shiny doesn't show me the entire selectInput when I have choices > 1000 【发布时间】:2021-07-07 13:04:19 【问题描述】:

我写了一个简单的例子来说明我在做什么。我想在 selectInput 中显示 3000 个数字。这些数字必须在反应函数中,因为在我的原始工作中,数据来自文件。

我的问题是,当我运行应用程序时,它只显示 1000 个数字,而不是整个数据(3000 个数字)。

我看过这篇帖子Updating selection of server-side selectize input with >1000 choices fails,但我不知道如何使用 uiOutput 和 renderUI 来做到这一点。

谁能帮帮我?

提前非常感谢

代码:

library(shiny)

ui <- fluidPage(
  titlePanel("Numbers"),
  sidebarLayout(
    sidebarPanel(
      uiOutput('selectUI')
    ),
    mainPanel(
      
    )
  )
)

server <- function(input, output) 
  
  num <- reactive(
    data = c(1:3000)
    return(data)
  )
  
  output$selectUI <- renderUI(
    selectInput(inputId = 'options', "Select one", choices = num())  
  )


# Run the application 
shinyApp(ui = ui, server = server)

【问题讨论】:

【参考方案1】:

使用 selectizeInput 而不是 selectInput 与参数 options = list(maxOptions = 3000)

【讨论】:

非常感谢。它有效,但它给了我这个警告。 Warning: The select input "options" contains a large number of options; consider using server-side selectize for massively improved performance. See the Details section of the ?selectizeInput help topic.能修好还是没关系?

以上是关于当我有选择 > 1000 时,Shiny 不会向我显示整个 selectInput的主要内容,如果未能解决你的问题,请参考以下文章

Shiny pickerInput - conditionalPanel 仅将值设置为第一个选择

在 Shiny 中更改 Picker Input 的颜色

无法在R中安装Shiny最新版本

以闪亮的意外行为取消组合和选择

从 Shiny 中的 sideBarMenu 和 radioButton 选择时不显示图表

Shiny R仅绘制滑块范围的极值