我正在尝试在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>
答案 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)