当多个selectizeInput被清除时如何在shiny中触发observeEvent

bob*_*bel 5 r shiny

我希望observeEvent在清除输入列表时触发。

这是一个小示例应用程序:

library(shiny)

ui <- fluidPage(

  selectizeInput(inputId='select',
                 label='Select something',
                 multiple=TRUE,
                 choices=letters[1:3])
)

server <- function(input, output){

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

shinyApp(ui=ui, server=server)
Run Code Online (Sandbox Code Playgroud)

现在每次我选择另一个字母时observeEvent都会触发。删除字母也会触发该事件。然而,删除最后一个字母似乎不会触发任何事情。

在这里尝试了该解决方案,但它似乎不适用于我的情况(或者我无法让它发挥作用)。

所以我的预期输出是在选择a它之后打印"a",但在删除之后a,它也会打印一些东西(无论是还是NULL""

Por*_*hop 6

observeEvent有很多论点

observeEvent(eventExpr, handlerExpr, event.env = Parent.frame(), event.quoted = FALSE, handler.env = Parent.frame(), handler.quoted = FALSE, label = NULL, 挂起 = FALSE, 优先级 = 0,域 = getDefaultReactiveDomain()、autoDestroy = TRUE、ignoreNULL = TRUE、ignoreInit = FALSE、once = FALSE)

include ,默认ignoreNULL设置为,只需将其更改为TRUEFALSE

  observeEvent(input$select, {
    print(input$select)
  },ignoreNULL  = FALSE)
Run Code Online (Sandbox Code Playgroud)