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)}) –