如何观察取消选择selectInput
中shiny
的所有元素?
例如
library(shiny)
ui=shinyUI(fluidPage(
selectInput("select","",choices = c(1,2),multiple = T)
))
server=function(input, output,session) {
observeEvent(input$select,{
print(input$select)
})
}
shinyApp(ui,server)
行动:
1)选择1
2)选择2
3)取消选择2
4)取消选择1
控制台日志:
[1] "1"
[1] "1" "2"
[1] "1"
所有取消选择时都没有打印。
这是错误还是我做错了什么?
答案 0 :(得分:3)
observeEvent对NULL没有反应。这在大多数情况下都很有用,请参阅此question,@ daattali的答案。
您有两种选择,1)使用观察
library(shiny)
ui=shinyUI(fluidPage(
selectInput("select","",choices = c(1,2),multiple = T)
))
server=function(input, output,session) {
observe({
print(input$select)
})
}
shinyApp(ui,server)
2)在observeEvent()中将ignoreNULL参数设置为FALSE,如@WeihuangWong
所示library(shiny)
ui=shinyUI(fluidPage(
selectInput("select","",choices = c(1,2),multiple = T)
))
server=function(input, output,session) {
observeEvent(input$select,{
print(input$select)
}, ignoreNULL = FALSE)
}
shinyApp(ui,server)