首页 > 解决方案 > R Shiny - 从 selectizeInput 的列表中构建一个 tabsetPanel

问题描述

我一直在尝试开发这个 tabsetpanel,但没有成功。目标是动态组装选项卡。用户单击搜索按钮后,选项卡将根据用户在 selectizeInput 中的选择进行组合。每个选项卡都有特定的内容。当用户再次按下搜索按钮时,必须使用来自 selectizeInput 的信息再次构建选项卡,而不会重复。

我很感激任何帮助。

结果应该是这样的图像:

library(shiny)

ui <- fluidPage(
    title = "Examples of DataTables",
    sidebarLayout(
        sidebarPanel(

            selectizeInput(
                'state', 'State', choices = state.name, multiple = TRUE
            ),
            actionButton("search", "Search"),

        ),
        mainPanel(
            tabsetPanel(
                id = 'dataset',
                tabPanel("tab1", verbatimTextOutput("tab1"))
            )

        )
    )
)

server <- function(input, output) {

    output$tab1 <- renderPrint({
        "tab1"
    })
}

shinyApp(ui, server)

标签: rshiny

解决方案


好吧,我使用insertUI 和removeUI 解决了这个问题。为了循环 tabsetPanel 我使用了 do.call 方法,


推荐阅读