我希望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)""。
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)