У меня есть R блестящего приложение, в котором я выпадающему определенном в ui.R
, как lib
, значение которой с («X», «Y», «Z»), а также флажок называется spcheck
который определяется какR блестящие 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 FALSE? Может быть, мне не хватает чего-то очень тривиального, но я не мог понять это. Любая помощь ??
Есть ли работа? сделать паузу в течение нескольких миллисекунд или что-то еще? – Sri
Это особенность реактивного программирования. Если вы действительно этого хотите, вы можете либо сами внести изменения (после выполнения обновления, введите '$ spcheck <- TRUE' или что-то в этом роде) или просто добавьте наблюдателя, который прослушивает изменение в этом вводе' наблюдать ({cat (вход $ SPCheck)}) –