r - 在 R Shiny 中更新选择输入而不重置

标签 r shiny

我有一个 selectInput,我可以在 a 之间选择任何内容和e .

我想要一个自动添加的按钮a , b ,和e如果我点击它,就会出现选择。

问题: 我不希望它重置输入中已选择的项目。

例如,用户已选择 ad ,然后他单击按钮。而不是得到 a , be ,我希望用户得到a , b , d ,和e因为他已经选择了ad .

问题: 如何修改updateSelectInput()所以它不会每次都重新初始化,只是将选项添加到已经选择的其他尚未选择的选项中,这里只添加 be并且不将“重置为 abe

代码:

ui <- shinyUI(fluidPage(

titlePanel("Yo"),

sidebarLayout(
  sidebarPanel(
     uiOutput("select"),
     actionButton("clear","Adding new")
  ),
  
 mainPanel(
     
   )
 )
))

server <- shinyServer(function(input, output,session) {
 output$select <- renderUI({
  selectizeInput("sel", "The choices",choices = c("a","b","c","d","e"), selected = NULL, multiple = TRUE,options = list())
 
})
observeEvent (input$clear,{
 updateSelectizeInput(session,"sel", selected = c("a","b","e"), options = list())
 
 })
})

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

最佳答案

好吧,我又笨了,这是一个非常简单的修复,

您只需获取变量中的预选参数并将其添加到更新中的选定参数中即可:

observeEvent (input$clear,{
  edit <- input$sel
  updateSelectizeInput(session,"sel", selected = c(edit,"a","b","e"), options = list())

})

关于r - 在 R Shiny 中更新选择输入而不重置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38499569/

相关文章:

r - 使用 lapply 和 read_xls 使用文件名作为列表名称

javascript - 根据另一个向量设置 Shiny tableOutput 中列的背景颜色

r - 通过 RMarkdown-Shiny 从 DT 按钮下载不完整的 CSV/Excel 行

r - 按 R 中的中值折叠重复行

r - 图例将 bquote 与向量变量一起使用

sql - 如果限于本地机器,最好使用 R 和 SQL

css - 调整 daterangeInput 中 "to"框的大小

r - 从 R 中的多个 lm() 中快速检索 pvalues

r - 使用 do.call 在 R Shiny 中创建 ui

r 基于选择的 Shiny 用户输入