【发布时间】:2019-10-23 05:05:10
【问题描述】:
我希望能够使用actionLink 导航到嵌套tabsetPanels 内的tabPanels。如果我已经选择了父 tabPanel,我目前只能导航到特定的 tabPanel。这个命名法很快就会变得混乱,所以这里有一个嵌套了tabPanels 和两个actionLinks 的示例来导航到两个子tabPanels:
library(shiny)
ui <- {
fluidPage(
fluidRow(
column(3,
actionLink('subpanel_1a', 'Go to 1 A'),
br(),
actionLink('subpanel_1b', 'Go to 1 B')
),
column(9,
tabsetPanel(id = 'master_panel',
tabPanel('Primary panel 1',
tabsetPanel(id = 'primary_panel_1',
tabPanel('subpanel_1_a'),
tabPanel('subpanel_1_b')
)
),
tabPanel('Primary panel 2',
tabsetPanel(id = 'primary_panel_2',
tabPanel('subpanel_2_a'),
tabPanel('subpanel_2_b')
)
)
)
)
)
)
}
server <- function(input, output, session) {
observeEvent(input$subpanel_1a, {
updateTabsetPanel(session, 'primary_panel_1', 'subpanel_1_a')
})
observeEvent(input$subpanel_1b, {
updateTabsetPanel(session, 'primary_panel_1', 'subpanel_1_b')
})
}
shinyApp(ui, server)
actionLinks 'Go to 1 A' 和 'Go to 1 B' 仅在当前选择的父 tabPanel 是 'Primary panel 1' 时才有效——如果您在 '主面板 2'。
有没有办法绕过这种行为,让actionLinks 无论您当前选择的面板如何都能正常工作?
【问题讨论】: