R Shiny ConditionalPanel 显示两个条件

Rshiny ConditionalPanel displaying both conditions

我对 shiny 还很陌生,我遇到了其他人遇到的问题,但我似乎找不到解决方案。我的 Rshiny 应用程序中的条件面板显示了我的所有条件。我参考了以下链接,甚至尝试了 renderUI 解决方案,但没有成功。这似乎是我遗漏的一个简单问题,但如果有任何帮助、条件面板的替代解决方案或对问题所在的见解,我们将不胜感激!

(框中的值然后用于更新图表,当我在我的应用程序中使用此解决方案时,图表也不再显示。我可以分享的其他代码数量有限)

runApp(list(
  ui = bootstrapPage(
    selectInput("ctype","test:" , c("F", "S"), selected = F),
    conditionalPanel("input.ctype == 'F'",
                     numericInput("comp", "Box 1", value =  100),
                     numericInput("comp1", "Box 2", value =  200),
                     numericInput("comp2", "Box3", value = 300),
                     actionButton("revert", "Back", icon = icon("history"))

    ),
    conditionalPanel("input.ctype == 'S",
                     numericInput("comp3", "Box 4", value = 0))

  ),
  server = function(input, output) {
    output$plot <- renderPlot({ hist(runif(input$n)) })
  }
))

下面是当前输出。 What I need is for when "F" is selected , only "Box 1", "Box 2", "Box 3" and "Back" appear and 不是 "Box 4" 。选择 "S" 时,只会出现 "Box 4"。

我使用了 renderUI 选项

runApp(list(
  ui = bootstrapPage(
    selectInput("ctype","test:" , c("F", "S"), selected = F),
    uiOutput("comp")


  ),
  server = function(input, output) {

    output$comp <- renderUI({

      if(input$ctype == "F"){

        conditions <- list( fluidRow(
          column(numericInput("comp", "Box 1", value =  100), width = 2),
          column(numericInput("comp1", "Box 2", value =  200), width = 2),
          column(numericInput("comp2", "Box3", value = 300), width = 2)),
          actionButton("revert", "Back", icon = icon("history")))

      }

      if(input$ctype == "S") {

        conditions <-  numericInput("comp3", "Box 4", value = 0)

      }

      return(conditions)
    })

    output$plot <- renderPlot({ hist(runif(input$n)) })
  }
))


您的第二个条件面板的条件中缺少结束撇号。如果你把它加回来,它就会像写的那样工作。