启用禁用输入 R Shiny
Enable disable input RShiny
我有 RShiny 代码,我想用它 disable/enable 带复选框的数字输入。但是,它仅适用于禁用。
library(shiny)
runApp(shinyApp(
ui = fluidPage(
shinyjs::useShinyjs(),
numericInput("test", "Test", 5),
checkboxInput("submit", label="Choose")
),
server = function(input, output, session) {
observeEvent(input$submit, {
shinyjs::disable("test")
})
}
))
我该如何解决?
您的代码大部分是正确的。错误在于您正在观察的内容。如果您使用操作按钮,您的代码将工作正常。但是对于checkbox,需要在checkbox未选中时禁用input,选中时enable,不能只观察事件。
library(shiny)
runApp(shinyApp(
ui = fluidPage(
shinyjs::useShinyjs(),
numericInput("test", "Test", 5),
checkboxInput("submit", label="Choose")
),
server = function(input, output, session) {
observeEvent(input$submit, {
if(input$submit == F){
shinyjs::disable("test")
} else {
shinyjs::enable("test")
}
})
}
))
我有 RShiny 代码,我想用它 disable/enable 带复选框的数字输入。但是,它仅适用于禁用。
library(shiny)
runApp(shinyApp(
ui = fluidPage(
shinyjs::useShinyjs(),
numericInput("test", "Test", 5),
checkboxInput("submit", label="Choose")
),
server = function(input, output, session) {
observeEvent(input$submit, {
shinyjs::disable("test")
})
}
))
我该如何解决?
您的代码大部分是正确的。错误在于您正在观察的内容。如果您使用操作按钮,您的代码将工作正常。但是对于checkbox,需要在checkbox未选中时禁用input,选中时enable,不能只观察事件。
library(shiny)
runApp(shinyApp(
ui = fluidPage(
shinyjs::useShinyjs(),
numericInput("test", "Test", 5),
checkboxInput("submit", label="Choose")
),
server = function(input, output, session) {
observeEvent(input$submit, {
if(input$submit == F){
shinyjs::disable("test")
} else {
shinyjs::enable("test")
}
})
}
))