【问题标题】:R Shiny: Control checkbox value with action buttonR Shiny:使用操作按钮控制复选框值
【发布时间】:2017-06-06 14:31:11
【问题描述】:

我还希望能够通过单击操作按钮来控制复选框的值(用于在选择不同功能时禁用某些程序选项)。虽然我接近了我想要的,但我无法正确初始化复选框。操作按钮必须至少按下一次才能首先看到复选框。

MWE:

# server.R

function(input, output) {

    output$make_box <- renderUI({
      checkboxInput("checkbox", label = "Choice A", value = setboxon())
    })

    setboxon <- eventReactive(input$action, {
      if(is.null(input$checkbox))
        return(FALSE)
      else if(input$checkbox==TRUE)
        return(FALSE)
      else
        return(TRUE)
    })

    # check status off checkbox value
    output$value <- renderPrint({ input$checkbox })

}

# ui.R

fluidPage(

# plot checkbox
uiOutput("make_box"),

# plot action button
actionButton("action", label = "Action"),
br(),

hr(),
# output check
fluidRow(column(3, verbatimTextOutput("value")))

)

【问题讨论】:

    标签: r shiny


    【解决方案1】:

    一种方法是使用reactiveVal()

    setboxon <- reactiveVal(TRUE)
    
    observe({
      if(is.null(input$checkbox))
        setboxon(FALSE)
      else if(input$checkbox==FALSE)
        setboxon(FALSE)
    })
    
    observe({
      if(input$action) setboxon(TRUE)
    })
    

    【讨论】:

    • 谢谢,这行得通!我只将最后一个 observe 函数更改为 observeEvent,其中包含一个 if 语句,该语句还允许您将值设置回 FALSE
    猜你喜欢
    • 2016-04-17
    • 2019-07-18
    • 1970-01-01
    • 2015-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-28
    • 2013-02-28
    相关资源
    最近更新 更多