For loops (lapply) navbarPage within in Ui.R

For loops (lapply) navbarPage within in Ui.R

随着内容的重复,我使用 for 循环重复了 tabPanel

问题很可能是 for 循环的位置不正确。导致创建无子菜单并显示随机文本 "tab-1810-1"

ui.R

library(shiny)
shinyUI(navbarPage("Nav Bar Title", 
  navbarMenu("Nav Bar Sub-title",
    lapply(1:2, function(v) {
      tabPanel(criteria[v],
        fluidRow(
        )
      ) 
    })
  ) 
))

子菜单说明:

在这种情况下,您需要使用 do.call 将所有选项卡传递给 navbarMenu:

library(shiny)
criteria <- c("test1","test2")
tabs <- lapply(1:2, function(v) {
  tabPanel(criteria[v],
           fluidRow(
           )
  ) 
})

ui <-shinyUI(navbarPage("Nav Bar Title", 
                   do.call(navbarMenu,c("title",tabs))
                   ) 
)

server <- function(input, output) {}
shinyApp(ui,server)