gpt4 book ai didi

R Shinydashboard 动态菜单选择

转载 作者:行者123 更新时间:2023-12-04 12:36:22 25 4
gpt4 key购买 nike

我在 R Shinydashboard 中创建了动态 sibebar 菜单。即使我使用 selected = TRUE ,在此动态模式下启动时不会选择与菜单关联的菜单项。
如何确保我可以控制在此动态模式下启动时显示的 menuItem 内容?
我一直在搜索类似的帖子。到目前为止找不到任何有效的东西。 updateTabItems()似乎没有用。
有任何想法吗?
提前感谢。

library(shiny)
library(shinydashboard)
ui <- dashboardPage(
dashboardHeader(title = "Dynamic sidebar"),
dashboardSidebar(
sidebarMenuOutput("menu")
),
dashboardBody(
tabItems(
tabItem(tabName = "m1", p("Menu content 1") ),
tabItem(tabName = "m2", p("Menu content 2") )
)
)
)
server <- function(input, output) {
output$menu <- renderMenu({
sidebarMenu(
menuItem("Menu item1", tabName="m1", icon = icon("calendar")),
menuItem("Menu item2", tabName="m2", icon = icon("database"),selected = TRUE)
)
})
}
shinyApp(ui, server)
编辑:Romain 的 anwser 出现的缩进问题
hsh

最佳答案

您必须有效地使用 updateTabItems() .为此,您必须为 sidebarMenu 设置一个 ID。并更新相应的menuItemmenuSubItem .

对于您的具体情况,您应该执行以下操作:

library(shiny)
library(shinydashboard)
ui <- dashboardPage(
dashboardHeader(title = "Dynamic sidebar"),
dashboardSidebar(
sidebarMenu(id="tabs",
sidebarMenuOutput("menu")
)
),
dashboardBody(
tabItems(
tabItem(tabName = "m1", p("Menu content 1") ),
tabItem(tabName = "m2", p("Menu content 2") )
)
)
)
server <- function(input, output,session) {

output$menu <- renderMenu({
sidebarMenu(
menuItem("Menu item1", tabName="m1", icon = icon("calendar")),
menuItem("Menu item2", tabName="m2", icon = icon("database"))
)
})
isolate({updateTabItems(session, "tabs", "m2")})
}
shinyApp(ui, server)

编辑版本以消除缩进问题

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

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