Shiny中的条件面板不会更新变量

时间:2016-09-21 22:58:24

标签: r shiny

我正在尝试在R Shiny中使用条件面板,但遇到了未分配值的问题。以下是我的代码片段:

   conditionalPanel(condition="input['input.type']=='Use Example Data'",
     textInput("Label", "Enter the label:", "A"),
     ),
   conditionalPanel(condition="input['input.type']=='Upload Data'",
     textInput("Label", "Enter the label:", "B"),
     )

现在,使用此代码,我期望发生的是用户选择"使用示例数据"那么默认值将是A(它是),但是如果用户切换到"上传数据"那么默认值仍然是A而不是B,正如我所期望的那样。似乎只有第一个条件面板存储值,因为它们具有相同的名称?

第二个问题,当用户在"使用示例数据"之间切换时和"上传数据"条件面板确实改变了,但是如果我用A代替A的值,然后来回切换,C的值将始终存在而不是重置为A.是否有一个简单的解决方法? / p>

1 个答案:

答案 0 :(得分:1)

这是你想要的吗?

rm(list = ls())
library(shiny)
library(shinydashboard)

ui <- dashboardPage(
  dashboardHeader(),
  dashboardSidebar(
    selectInput("type", "Type:",c("Use Example Data","Upload Data"))),
  dashboardBody(
    uiOutput("myui")    
  )
)
server <- function(input, output) {
  output$myui <- renderUI({
    if(input$type == "Upload Data"){
      textInput("Label", "Enter the label:", "B")
    }
    else{
      textInput("Label", "Enter the label:", "A")
    }
  }) 
}
shinyApp(ui, server)

enter image description here