我有两个checkboxGroupInputs
和两个按钮。
按钮“全部”选择了checkboxGroupsInputs
中的所有内容,并且可以正常工作。
按钮“无”应该清除两个checkboxGroupInputs
中的所有内容,但只能清除第一个复选框。
如果我在侦听器中将updateCheckboxGroupInputs
的顺序交换为“无”按钮,则另一个复选框组不会清除。
我想要的是一个按钮/侦听器,以清除两组复选框。
library(shiny)
# Define UI
ui <- fluidPage(
actionButton("all_button", "All"),
actionButton("none_button", "None"),
checkboxGroupInput("A_checkbox", label = "A", choices = c('a','b','c')),
checkboxGroupInput("Z_checkbox", label = "Z", choices = c('x','y','z'))
)
# Define server logic
server <- function(input, output, server, session) {
observeEvent(input$all_button,{
# both update
updateCheckboxGroupInput(session, "A_checkbox", selected = c('a','b','c'))
updateCheckboxGroupInput(session, "Z_checkbox", selected = c('x','y','z'))
})
observeEvent(input$none_button,{
# the second one does not update
updateCheckboxGroupInput(session, "A_checkbox", selected = NA)
updateCheckboxGroupInput(session, "Z_checkbox", selected = NA)
})
}
# Run the app
shinyApp(ui = ui, server = server)
答案 0 :(得分:2)
您不能使用NA,而不能使用character(0)取消选中复选框组输入。
observeEvent(input$none_button,{
updateCheckboxGroupInput(session, "A_checkbox", selected = character(0))
updateCheckboxGroupInput(session, "Z_checkbox", selected = character(0))
})
请在控制台中键入?updateCheckboxGroupInput并查看帮助。