【问题标题】:Passing reactive values to conditionalPanel condition将反应值传递给 conditionalPanel 条件
【发布时间】:2016-08-11 11:56:29
【问题描述】:

我在这里发现了一个类似的案例,不是没有具体答案:shiny: passing reactiveValues to conditionalPanel 但它让我想到我需要在 server.R 中使用 session$sendCustomMessage 设置变量,然后在 ui.R 中使用 Shiny.addCustomMessageHandler 提取它。但是,我不知道如何在条件面板中使用该变量。

这是我设计的示例(我知道我可以轻松地设置 input.select1 以使其正常工作):

https://gist.github.com/anonymous/6013ffb888ef22b5aa110ddcafc5659a

谢谢

【问题讨论】:

    标签: r shiny


    【解决方案1】:

    如果您想从服务器向客户端发送布尔值以确定conditionalPanel 的状态,您可以使用常规的 Shiny 输出,并告诉 Shiny 不要像这样暂停该值:

    library(shiny)
    server = shinyServer(function(input, output, session) {
    
      output$color_pr <- renderPrint({
        req(input$select1)
        input$select1
      })
    
      output$panelStatus <- reactive({
        input$select1=="show"
      })
      outputOptions(output, "panelStatus", suspendWhenHidden = FALSE)
    
    })
    
    ui=shinyUI(fluidPage(
    
      radioButtons("select1", "Show text?",
                   c("Yes" = "show", "No" = "noshow")),
    
      conditionalPanel(
    
        condition = 'output.panelStatus'
        ,
        verbatimTextOutput("color_pr"))
    ))
    
    shinyApp(ui=ui,server=server)
    

    【讨论】:

    • 我提到这个例子是人为的,可以通过输入 condition = 'input.select1=="show"' 来解决,但这不是我想做的。
    • 知道了,一旦我在电脑前编辑我的答案。
    猜你喜欢
    • 2014-01-23
    • 1970-01-01
    • 1970-01-01
    • 2021-09-27
    • 2018-11-01
    • 2015-11-20
    • 2019-12-30
    • 1970-01-01
    • 2020-07-03
    相关资源
    最近更新 更多