0
我有一个R闪亮的应用程序,其中我有ui.R
中定义的下拉框为lib
,其值为c(“X”,“Y”,“Z”),还有一个复选框spcheck
,它是定义为R shiny updateCheckboxInput
checkboxInput("spcheck","label1",value = FALSE))
其他条件使得可用此复选框只有当input$lib=Z
并检查它将使一些事情出现。 当用户选择一个不同的库,比如说X,我想使spcheck
值FALSE
,所以我下面的代码添加到server.R
observe({
if (input$lib %in% c("X","Y"))
{cat("uncheck called 1 : ",input$spcheck,'\n')
updateCheckboxInput(session,"spcheck","label1,value = FALSE)
cat("uncheck called 2 : ",input$spcheck,'\n')
}
else return()
})
文本显示在控制台:
uncheck called 1 : TRUE
uncheck called 2 : TRUE
为什么它是不是使spcheck的值为假? 可能是我错过了一些非常微不足道的东西,但我无法弄清楚。 任何帮助?
时才会有更新的值是否有解决方法?让它暂停几毫秒或什么? – Sri
这是反应式编程设计的一个特点。如果你真的想要,你可以自己改变输入(在更新之后,执行'输入$ spcheck < - TRUE'或类似的东西),或者只是添加一个观察者来监听输入中的变化'observe({cat (输入$ spcheck)}) –