我尝试了不同的方法将变量存储在server.R中,并在ui.R中使用相同的变量,但没有获得很大的成功。只要可行,这可能是一种骇人听闻的方式。
这可能对您有用(直接从“我的Shiny tips'n技巧列表”中获取):
在UI条件面板中使用服务器中的变量
在UI中使用条件面板时,条件通常是使用输入值的表达式。但是,当您想使用条件面板而不是与输入字段直接相关的更为复杂的条件时,会发生什么?本示例说明如何在可在UI中使用的服务器代码中定义输出变量。另一种方法是使用包中的show()和hide()函数shinyjs
。
library(shiny) ui <- fluidPage( selectInput("num", "Choose a number", 1:10), conditionalPanel( condition = "output.square", "That's a perfect square!" ) ) server <- function(input, output, session) { output$square <- reactive({ sqrt(as.numeric(input$num)) %% 1 == 0 }) outputOptions(output, 'square', suspendWhenHidden = FALSE) } shinyApp(ui = ui, server = server)