【发布时间】:2018-02-13 15:13:36
【问题描述】:
我正在尝试根据会话用户 ID 创建一个动态生成的导航栏。
我有一个将会话用户映射到该用户客户端列表的数据表。我希望该应用程序生成一个导航栏,其中每个 tabPanel 用于用户拥有的每个客户端。我不确定如何轻松做到这一点,因为 navbarPage() 不接受列表参数。
下面是我的例子
library(shiny)
data <- data.frame(user=c("emily", "emily"), clients=c("client1", "client2"))
CreateCustomNavbarContent <- function(data) {
l <- lapply(data$clients, function(client) {
tabPanel(client,
h2(client))
})
renderUI({
l
})
}
shinyApp(
ui <- fluidPage(
uiOutput("custom_navbar")
),
server <- function(input, output) {
output$custom_navbar <- renderUI({
## commented below doesn't work
# navbarPage(
# CreateCustomNavbarContent(data)
# )
navbarPage("",
tabPanel("client1",
h2("client1")
),
tabPanel("client2",
h2("client2")
)
)
})
}
)
【问题讨论】: