我的应用程序很闪亮,我只有几个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)
})
但是它不起作用:(任何想法我做错了吗?
答案 0 :(得分:5)
如果您使用的是pickerInput
中的shinyWidgets
,则将actions-box
设置为TRUE
将会建立 Select All & Deselect All < / strong>按钮。您不需要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)