将反应值传递给conditionalPanel条件

Xlr*_*lrv 5 r shiny

我在这里找到了一个类似的例子,不是没有具体的答案:有光泽:将reactiveValues传递给conditionalPanel, 但它让我知道我需要session$sendCustomMessage在server.R中设置变量然后用Shiny.addCustomMessageHandlerui.R解压缩.但是,我无法弄清楚如何在条件面板中使用该变量.

这是我设计的例子(我知道我可以很容易地对input.select1进行调整,以使其正常工作):

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

谢谢

Car*_*arl 17

如果你想从服务器向客户端发送一个布尔值以确定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)
Run Code Online (Sandbox Code Playgroud)

  • 明白了,一旦我在电脑前就会编辑我的答案。 (2认同)