在清除用户在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内的值全部为空?
答案 0 :(得分:0)
在pickerInput
中未选择任何选项时,服务器中的值为NULL
,而observeEvent
则忽略NULL
,因此:
observeEvent(input$Yearz, {
print(input$Yearz)
}, ignoreNULL = FALSE)