如何使用自己的内容制作动态闪亮的标签?

时间:2015-07-29 14:54:41

标签: r user-interface shiny

因此,当我执行操作并使用自己的侧边栏创建标签时,我查看了以下链接以制作动态标签,但我似乎无法将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示例是否有问题,因为它会为每个操作创建一个新的标头列表?

1 个答案:

答案 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"))
})
}
)