我正在开发一个我使用的闪亮应用程序tabsetPanel,它是在用户输入某些特定输入时生成的.因此,我想使用renderUI函数使tabsetPanel出现/消失.
我现在的奋斗是,元素的数量 tabPanel(参数tabsetPanel)也取决于用户输入,顺便说一下:有时我需要1个,有时我需要更多tabPanels.
怎么做?我尝试在论证中包含conditionPanel或包含简单if()...条件tabsetPanel,但它(并不奇怪......)不起作用.
Ram*_*ath 70
干得好.代码是相当自我解释的.
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)
})
}
))
Run Code Online (Sandbox Code Playgroud)