我希望在清除输入列表时触发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)
现在,每次我选择另一个字母时,都会触发observeEvent
。同时删除字母也会触发事件。但是,删除最后一个字母似乎不会触发任何操作。
我尝试了解决方法here,但它似乎不适用于我的情况(或者我无法使其正常工作)。
因此,我的预期输出是选择a
后打印"a"
,但是删除a
之后也打印一些内容(无论是NULL
还是""
。
答案 0 :(得分:3)
您可以使用observe代替observeEvent。
wpb_set_post_views()
答案 1 :(得分:2)
observeEvent
有许多参数
observeEvent(eventExpr,handlerExpr,event.env = parent.frame(), event.quoted = FALSE,handler.env = parent.frame(), 引用= FALSE,标签= NULL,暂停= FALSE,优先级= 0, domain = getDefaultReactiveDomain(),autoDestroy = TRUE, ignoreNULL = TRUE,ignoreInit = FALSE,一次= FALSE)
包括ignoreNULL
(默认设置为TRUE
),只需将其更改为FALSE
observeEvent(input$select, {
print(input$select)
},ignoreNULL = F)