微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

根据选项卡面板选择在 R 闪亮中显示/隐藏选择输入

如何解决根据选项卡面板选择在 R 闪亮中显示/隐藏选择输入

我需要为不同的标签显示不同的下拉/选择输入。

例如。如果选择了第一个选项卡,则显示带有值列表的 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')
    })
  }
))

解决方法

给你。

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]])
    })
  }
))

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。