gpt4 book ai didi

R Shinydashboard 动态菜单项

转载 作者:行者123 更新时间:2023-12-02 09:31:29 24 4
gpt4 key购买 nike

我正在尝试动态生成多个 menuItem s,可能很简单,但我没有得到正确的想法。

library(shiny)
library(shinydashboard)
port_tables<-c("tab1","tab2","tab3","tab4") # These are from a DB connection in the original code
function(input, output) {
output$smenu1 <- renderMenu({
sidebarMenu( id = "tabs",
h4("Tables",style="color:yellow;margin-left:20px;"),
paste("menuItem(\"",port_tables,"\",tabName=\"",port_tables,"\",icon=icon('th'))",collapse=",")
)
})
)
paste 函数中的 menuItems 无法解析(我在侧边栏上得到了粘贴函数的结果)。我试过 evaleval(parse(paste(...))) ,都没有工作 - 我错过了什么?

最佳答案

我不太明白你要什么,但这里有一个动态菜单的例子。

library(shiny)
library(shinydashboard)

ui <- dashboardPage(
dashboardHeader(title = "Dynamic Menu"),
dashboardSidebar(
sidebarMenuOutput(outputId = "dy_menu")
),
dashboardBody(
tabItems(
tabItem(tabName = "main",
textInput(inputId = "new_menu_name",
label = "New Menu Name"),
actionButton(inputId = "add",
label = "Add Menu")
)
)
)
)

server <- function(input, output, session){

output$dy_menu <- renderMenu({
menu_list <- list(
menuItem("Add Menu Items", tabName = "main", selected = TRUE),
menu_vals$menu_list)
sidebarMenu(.list = menu_list)
})

menu_vals = reactiveValues(menu_list = NULL)
observeEvent(eventExpr = input$add,
handlerExpr = {
menu_vals$menu_list[[length(menu_vals$menu_list) + 1]] <- menuItem(input$new_menu_name,
tabName = input$new_menu_name)
})

}

shinyApp(ui, server)

关于R Shinydashboard 动态菜单项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32741169/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com