因此,当我执行操作并使用自己的侧边栏创建标签时,我查看了以下链接以制作动态标签,但我似乎无法将2和2放在一起。
R Shiny - add tabPanel to tabsetPanel dynamically (with the use of renderUI)
Are tabs with their own sidebars and mainPanels possible in shiny?
有人知道在动态创建标签后如何访问标签吗?此外,在这种情况下,renderUI示例是否有问题,因为它会为每个操作创建一个新的标头列表?
答案 0 :(得分:4)
我要感谢stackoverflow上的所有好人帮助我解决这个问题;这是编程初学者最支持的网站。
UI:
library(shiny)
shinyUI(navbarPage("TiGr",
tabPanel("File Input Page",
fluidPage("Input")),
tabPanel("Summary Statistics and Plots",
fluidPage("Statistics")),
tabPanel("Time Clusters",
fluidPage("cluster"),
actionButton("subClust", label = "Create Subcluster"),
uiOutput("tabs"),
conditionalPanel(condition="input.level==1",
helpText("test work plz")
),
conditionalPanel(condition="input.level==5",
helpText("hohoho")
)
)
))
服务器:
library(shiny)
shinyServer(function(input, output,session) {
output$tabs=renderUI({
Tabs<-as.list(rep(0,input$subClust+1))
for (i in 0:length(Tabs)){
Tabs[i]=lapply(paste("Layer",i,sep=" "),tabPanel,value=i)
}
#Tabs <- lapply(paste("Layer",0:input$subClust,sep=" "), tabPanel)
do.call(tabsetPanel,c(Tabs,id="level"))
})
}
)