将TabPanel隐藏在R Shiny模块中

问题描述

我正在尝试模块化复杂的闪亮应用程序,并且试图建立一个 navbar ,在每个 navbar 组件中都具有标签。最重要的是,我希望每个 navbar 组件都由一个模块( Dash_UI Dash_Server )运行。

目标是能够隐藏“ sub” TabPanels 中的一个。当我在 Dash_UI 中创建这些 TabPanels 时,我在想可以使用 Dash_Server 中的ID而不引用* Dash_UI 名称空间。但这在某种程度上是行不通的。现在,我将Dash Module的会话分配给了hide函数,但是即使如此,它似乎也无法流行。

有人可以在这里帮助吗?

library(shiny)
library(shinyjs)

Dash_UI <- function(id,subtitle1,subtitle2){
    
    ns <- NS(id)
    tabsetPanel(
        id = ns("Dash_tabs"),tabPanel(
            title = tags$b(subtitle1),value = ns("Dash_tab1"),'Bla1'
        ),# Tab for Risk Factors
        tabPanel(
            title = tags$b(subtitle2),value = ns("Dash_tab2"),'Bla2'
        )
    )
}

Dash_Server <- function(id,button){ 
    
    moduleServer(id,function(input,output,session){       
        # Observe the button.
        observeEvent(button(),{
            # Hide Second Tab
            hideTab(inputId = 'Dash_tabs',target = 'Dash_tab2',session = session)   
        })
    })
}

ui <- fluidPage(
    useShinyjs(),# Top Navigation Bar
    navbarPage(
        title  = 'Title',id     = "navbar",header = fluidRow(
            div(
                column(width = 3,actionBttn(inputId = 'button1',label = 'Hide SubTitle12 in MainTab1')),column(width = 3,actionBttn(inputId = 'button2',label = 'Hide SubTitle22 in MainTab2'))
            )
        ),tabPanel(
            title = 'MainTab1',value = "main1",Dash_UI(id = 'main1_dash',subtitle1 = 'SubTitle11',subtitle2 = 'SubTitle12')
        ),tabPanel(
            title = 'MainTab2',value = "main2",Dash_UI(id = 'main2_dash',subtitle1 = 'SubTitle21',subtitle2 = 'SubTitle22')
        )
    )     
)

server <- function(input,session) {
    Dash_Server('main1_dash',button = reactive({input$button1}))
    Dash_Server('main2_dash',button = reactive({input$button2}))
}

shinyApp(ui,server)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...