启用禁用输入R Shiny

问题描述 投票:1回答:1

我有RShiny代码,我希望通过复选框禁用/启用数字输入。但是,它仅适用于禁用。

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

我怎么能解决这个问题?

r server shiny shinyjs
1个回答
3
投票

你的代码大多是正确的。这个错误就在你观察的内容中。如果您使用操作按钮,您的代码将正常工作。但是对于复选框,您需要在未选中复选框时禁用输入,并在选中时启用,而不仅仅是观察事件。

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")
      }
    })
  }
))
© www.soinside.com 2019 - 2024. All rights reserved.