gpt4 book ai didi

r - Shiny 的 selectInput 不会对取消选择所有元素使用react

转载 作者:行者123 更新时间:2023-12-05 00:54:00 25 4
gpt4 key购买 nike

如何观察取消选择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"

所以全部取消选择时没有打印。

这是错误还是我做错了什么?

最佳答案

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)按照@WeihuangWong的建议,在observeEvent()中将ignoreNULL参数设置为FALSE
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)

关于r - Shiny 的 selectInput 不会对取消选择所有元素使用react,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40378245/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com