使用renderUI在R Shiny中插入额外的tabPanel

Ken*_*Orr 0 r tabpanel shiny

我正在尝试将 renderUI 创建的选项卡附加到现有选项卡集。最小的例子:

ui <- fluidPage(sidebarLayout(sidebarPanel(),
                              mainPanel(tabsetPanel(
                                tabPanel("static_tab"),
                                uiOutput('ui_tab')
                              ))))
server <- function(input, output) {
  output$ui_tab <- renderUI({
    tabPanel("render_tab", p('it worked'))
  })
}
shinyApp(ui = ui, server = server)
Run Code Online (Sandbox Code Playgroud)

我可以渲染整个 tabsetPanel,但不能渲染现有 tabsetPanel 中的单个选项卡。

ism*_*gal 5

您可以使用insertTabappendTab

ui <- fluidPage(sidebarLayout(sidebarPanel(),
                              mainPanel(
                                tabsetPanel(id = "myTabsetPanel",
                                            tabPanel("static_tab", tabName = "static_tab"))
                              )))
server <- function(input, output) {
  appendTab(inputId = "myTabsetPanel",
            tabPanel("render_tab", p('it worked')))
}
shinyApp(ui = ui, server = server)
Run Code Online (Sandbox Code Playgroud)

renderUI不会工作,因为它创建了一个div标签 - 但是,您需要创建一个li标签。