【问题标题】:Deselected All by updatePickerInput shiny R由 updatePickerInput 取消选择全部闪亮 R
【发布时间】:2018-08-14 16:13:50
【问题描述】:

在我的闪亮应用中,pickerInput 元素很少。默认情况下没有选择任何内容。

pickerInput(
  inputId = "pickerInput1", 
  label = NULL, 
  choices = c("Yes", "No"), 
  options = list(
    `actions-box` = TRUE, 
    size = 12,
    `selected-text-format` = "count > 3"
  ), 
  multiple = TRUE
)

问题是我不知道如何在单击特殊按钮后清除所有这些(转到默认值)。不幸的是,我可能不知道如何使用 updatePickerInput。我试过了:

  observeEvent(input$Clear_FilterButton,     {
    updatePickerInput(session, "pickerInput1", selected = NULL)
  })

但它不起作用:(有什么想法我做错了吗?

【问题讨论】:

    标签: r input shiny updates


    【解决方案1】:

    如果您使用 shinyWidgets 中的 pickerInput,将 actions-box 设置为 TRUE 应默认构建 全选取消全选 按钮。你不需要updatePickerInput。点击您的pickerInput 以查看这些按钮。

    更多详情请参阅文档:
    https://github.com/dreamRs/shinyWidgets

    更新您的评论:

    您的评论使问题更加清楚。您可以简单地使用selected = "" 而不是selected = NULL。这是一个工作示例:

    library(shiny)
    library(shinyWidgets)
    
    ui <- fluidPage(
      pickerInput(
        inputId = "pickerInput1", 
        label = NULL, 
        choices = c("Yes", "No"), 
        options = list(
          `actions-box` = TRUE, 
          size = 12
        ), 
        multiple = TRUE
      ),
    
      actionButton(
        inputId = "Clear_FilterButton",
        label = "Clear"
      )
    )
    
    server <- function(session, input, output) {
      observeEvent(input$Clear_FilterButton, {
        updatePickerInput(
          session, 
          "pickerInput1", 
          selected = ""
        )
      })
    }
    
    shinyApp(ui = ui, server = server)
    

    【讨论】:

    • 我知道这些按钮。但问题是我的应用程序中有大约 30 个 pickerInputs,我想通过单击 actionButton 将它们全部清除。这就是为什么我必须使用 updatePickerInput。你能帮我完成这项任务吗?
    • @dasti74;您可以使用selected = "" 代替selected = NULL。我相应地更新了答案。
    猜你喜欢
    • 2017-08-03
    • 2021-07-26
    • 1970-01-01
    • 2021-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-16
    • 2017-08-08
    相关资源
    最近更新 更多