我在这里找到了一个类似的案例,不是没有具体答案:shiny: passing reactiveValues to conditionalPanel
但它给了我一个想法,我需要在 server.R 中使用 session$sendCustomMessage
设置变量,然后在 ui.R 中使用 Shiny.addCustomMessageHandler
提取它。但是,我无法弄清楚如何在条件面板中使用该变量。
这是我人为的示例(我知道我可以轻松地对 input.select1 进行条件设置,以使其正常工作):
https://gist.github.com/anonymous/6013ffb888ef22b5aa110ddcafc5659a
谢谢
最佳答案
如果你想从服务器向客户端发送一个 bool 值来确定 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)
关于r - 将 react 值传递给 conditionalPanel 条件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38895710/