我需要为不同的标签显示不同的下拉/选择输入。
例如。如果选择了第一个选项卡,则显示带有值列表的 selectinput,Tim、Bill、Jeff、... 如果选择选项卡二,则显示带有值列表的 selectinput 猫,狗,松鼠,...
我在网上找到了以下脚本,但反之亦然(根据选择输入显示/隐藏选项卡 - 但我需要根据选项卡选择显示/隐藏选择输入)。
runApp(list(
ui = shinyUI(
fluidPage(
sidebarLayout(
sidebarPanel(
selectInput(
inputId = 'selected.indicator',
label = 'Select an option: ',
choices = c('mean', 'median', 'mode')
)
),
mainPanel(
tabsetPanel(
tabPanel("Prevalence / mean", value = 'meanTab', DT::dataTableOutput("prevtab")),
tabPanel("Subgroups comparison", value = 'medianTab', DT::dataTableOutput("comptab")),
id ="tabselected"
)
)
)
)
),
server = function(input, output, session) {
observe({
req(input$selected.indicator)
if (grepl("MEDIAN", toupper(input$selected.indicator), fixed = TRUE)) {
hideTab(inputId = "tabselected", target = 'medianTab')
}
else showTab(inputId = "tabselected", target = 'medianTab')
})
}
))
答案 0 :(得分:0)
给你。
runApp(list(
ui = shinyUI(
fluidPage(
sidebarLayout(
sidebarPanel(
selectInput(
inputId = 'selected.indicator',
label = 'Select an option: ',
choices = c('')
)
),
mainPanel(
tabsetPanel(
tabPanel("tab1", value = 'tab1', p("tab1")),
tabPanel("tab2", value = 'tab2', p("tab2")),
id ="tabselected"
)
)
)
)
),
server = function(input, output, session) {
choices <- reactiveValues(
tab1 = c('Tim', 'Bill', 'Jeff'),
tab2 = c('Cat', 'Dog', 'Squirrel')
)
observeEvent(input$tabselected, {
updateSelectInput(session, 'selected.indicator', choices = choices[[input$tabselected]])
})
}
))