我正在尝试构建一个动态闪亮的应用程序,如果满足条件,我想生成带有一些内容的tabpanel。我正在上传数据集,条件将在每个变量的class()上。这是一个小的复制品,条件可能是偶数/奇数(我从Stack上回答的问题中采用了这个例子)任何帮助都将深表感谢。
library(shiny)
runApp(list(
ui = pageWithSidebar(
headerPanel('Dynamic Tabs'),
sidebarPanel(
numericInput("nTabs", 'No. of Tabs', 5)
),
mainPanel(
uiOutput('mytabs')
)
),
server = function(input, output, session){
output$mytabs = renderUI({
nTabs = input$nTabs
myTabs = lapply(paste('Tab', 1: nTabs), tabPanel)
do.call(tabsetPanel, myTabs)
})
}
))
答案 0 :(得分:0)
在下面的代码中,我只在数字为偶数时才添加tabpanel的数量。
library(shiny)
runApp(list(
ui = pageWithSidebar(
headerPanel('Dynamic Tabs'),
sidebarPanel(
numericInput("nTabs", 'No. of Tabs', 2)
),
mainPanel(
uiOutput('mytabs')
)
),
server = function(input, output, session){
observe({
if(input$nTabs %% 2 == 0){
output$mytabs = renderUI({
nTabs = isolate(input$nTabs)
myTabs = lapply(paste('Tab', 1: nTabs), tabPanel)
do.call(tabsetPanel, myTabs)
})
}
})
}
))
希望它有所帮助!