pickerInput无法清除所有选择

时间:2018-10-26 20:43:21

标签: r shiny

在清除用户在shinyWidget包的pickerInput下选择的选项时遇到问题。这是下面的代码:

library(shinyWidgets)
library(shiny)

shinyApp(
  ui = basicPage(
    actionButton("show", "Click me!")
  ),

  server = function(input, output){

    observeEvent(input$show, {
      showModal(
        modalDialog(
          h2("Select Years", align = "center"),
          pickerInput(inputId = "Yearz", label = NULL, 
                      choices = c(2012:2017), options = list(
                        `selected-text-format` = "count > 3", `actions-box` = TRUE), 
                      multiple = TRUE, width = "100%")
        )
      )
    })

    observeEvent(input$Yearz, {
      print(input$Yearz)
    }
    )
  }
)

我注意到当取消选择最后一个选项时,无论是通过“全部取消选择”按钮还是通过手动方式,最后一个选项仍保留在input $ Yearz下。有没有办法使input $ Yearz内的值全部为空?

1 个答案:

答案 0 :(得分:0)

pickerInput中未选择任何选项时,服务器中的值为NULL,而observeEvent则忽略NULL,因此:

observeEvent(input$Yearz, {
  print(input$Yearz)
}, ignoreNULL = FALSE)