R 使用内容创建动态选项卡
我正在尝试建立一个闪亮的应用程序,用户可以决定他想显示多少标签。以下是我目前掌握的情况:R 使用内容创建动态选项卡,r,shiny,R,Shiny,我正在尝试建立一个闪亮的应用程序,用户可以决定他想显示多少标签。以下是我目前掌握的情况: library(shiny) library(shinydashboard) library(shinydashboardPlus) library(glue) ui <- dashboardPage( dashboardHeader(), dashboardSidebar( sliderInput(inputId = "slider", label = NULL, min = 1
library(shiny)
library(shinydashboard)
library(shinydashboardPlus)
library(glue)
ui <- dashboardPage(
dashboardHeader(),
dashboardSidebar(
sliderInput(inputId = "slider", label = NULL, min = 1, max = 5, value = 3, step = 1)
),
dashboardBody(
fluidRow(
box(width = 12,
p(
mainPanel(width = 12,
column(6,
uiOutput("reference")
),
column(6,
uiOutput("comparison")
)
)
)
)
)
)
)
server <- function(input, output) {
output$reference <- renderUI({
tabsetPanel(
tabPanel(
"Reference",
h3("Reference Content"))
)
})
output$comparison <- renderUI({
req(input$slider)
tabsetPanel(
lapply(1:input$slider, function(i) {
tabPanel(title = glue("Tab {i}"),
value = h3(glue("Content {i}"))
)
})
)
})
}
shinyApp(ui = ui, server = server)
库(闪亮)
图书馆(shinydashboard)
图书馆(shinydashboardPlus)
图书馆(胶水)
ui对我有效的是lappy
和do.call的组合
library(shiny)
library(shinydashboard)
library(shinydashboardPlus)
library(glue)
ui <- dashboardPage(
dashboardHeader(),
dashboardSidebar(
sliderInput(inputId = "slider", label = NULL, min = 1, max = 5, value = 3, step = 1)
),
dashboardBody(
fluidRow(
box(width = 12,
p(
mainPanel(width = 12,
column(6,
uiOutput("reference")
),
column(6,
uiOutput("comparison")
)
)
)
)
)
)
)
server <- function(input, output) {
output$reference <- renderUI({
tabsetPanel(
tabPanel(
"Reference",
h3("Reference Content"))
)
})
output$comparison <- renderUI({
req(input$slider)
myTabs = lapply(1:input$slider, function(i) {
tabPanel(title = glue("Tab {i}"),
h3(glue("Content {i}"))
)
})
do.call(tabsetPanel, myTabs)
})
}
shinyApp(ui = ui, server = server)
库(闪亮)
图书馆(shinydashboard)
图书馆(shinydashboardPlus)
图书馆(胶水)
谢谢你的回答。但是,当单击选项卡时,该值是否实际显示?因为它不适合我,虽然选项卡本身可以正确呈现。如果没有看到它,请更新代码。您将文本存储在一个变量中,这在这里是不必要的。如果我的回答有帮助,请不要忘记投票和/或接受;-)