无功值的初始值

时间:2018-02-26 19:47:27

标签: shiny

我正在尝试将Shiny中的反应性UI组合在一起,根据前一个问题的答案显示或隐藏问题,并根据前两个问题的答案显示结果。我尝试使用反应式UI元素实现它,但遇到了一个我认为可以这样描述的问题:

由于Shiny能够自动区分哪些反应组件在屏幕上以及哪些是隐藏的,它只会为可见组件创建值。因此,评估结果的条件失败,因为甚至没有创建第二个问题。

这是一个简化的例子:

library(shiny)

ui <- fluidPage(
  radioButtons(inputId = 'one', label = 'Show question two?', choices = c(TRUE, FALSE), selected = FALSE),
  uiOutput('two'),
  uiOutput('result')
)

server <- function(input, output) {
  output$two <- renderUI(
    if (input$one) {
      radioButtons(inputId = 'two', label = 'Show question three?', choices = c(TRUE, FALSE), selected = FALSE)
    }
  )
  output$result <- renderUI(
    if (input$two) {
      p("You're done.")
    }
  )
}

shinyApp(ui = ui, server = server)

我不确定如何给input$two初始值(FALSE),以便可以解决条件。我想使用reactiveValue()可能是一个解决方案,因为最初可以将其设置为FALSE,但是再一次,我不知道如果存在input$two,它将如何分配它。

0 个答案:

没有答案