如何取消选中所有checkboxInputs时的反应?

时间:2017-11-07 10:21:34

标签: r shiny

查看:当您单击复选框时,会出现左下角的通知。当你选择复选框时,闪亮看到动作,或者当选择第二个复选框时取消选择...但闪亮没有看到你取消选择最后一个复选框的那一刻!

library(shiny)

ui <- fluidPage(
  checkboxGroupInput("ccc", "ccc", choices = c("choice1", "choice2"), selected = c("choice1", "choice2"))
)

server <- function(input, output){
  observeEvent(input$ccc, {
    showNotification("clicked!", type = "default")
  })
}

shinyApp(ui, server)

2 个答案:

答案 0 :(得分:2)

由于observe observeEvent已经有一个名为ignoreNULL的功能,因此不需要TRUE,所以只需将其添加到其中即可。默认情况下,该值设置为library(shiny) ui <- fluidPage( checkboxGroupInput("ccc", "ccc", choices = c("choice1", "choice2"), selected = c("choice1", "choice2")) ) server <- function(input, output){ observeEvent(input$ccc, { showNotification("clicked!", type = "default") },ignoreNULL = F) } shinyApp(ui, server)

implicit

答案 1 :(得分:1)

取消选择所有对象会为对象NULL生成input$ccc。 为了能够捕获取消选择所有对象的事件,您需要将observeEvent更改为observe,如下所示:

library(shiny)

ui <- fluidPage(
    checkboxGroupInput("ccc", "ccc", choices = c("choice1", "choice2"), selected = c("choice1", "choice2"))
)

server <- function(input, output){
    observe({
        input$ccc
        showNotification("clicked!", type = "default")
    })
}

shinyApp(ui, server)