Shiny Dashboard中actionButton切换tabItem失效,求排查解决
问题分析与修正
你的代码存在三个关键问题导致按钮无法切换标签页:
- UI组件位置错误:
tabItems属于UI层内容,应该放在dashboardBody()内部,而不是写在server函数里。 - 目标标签页名称错误:
updateTabItems的selected参数设置成了"dashboard",这和你要切换到widgets的需求相反。 - 缺少session参数:server函数需要接收
session参数,否则updateTabItems无法正常调用。
修正后的完整代码
## app.R ## library(shinydashboard) ui <- dashboardPage( dashboardHeader(title = "Basic dashboard"), dashboardSidebar( sidebarMenu(id="inTabset", menuItem("Dashboard", tabName = "dashboard", icon = icon("dashboard")), menuItem("Widgets", tabName = "widgets", icon = icon("th")) ) ), dashboardBody( tabItems( # First tab content tabItem(tabName = "dashboard", "dashboard", actionButton("nextt","Next") ), # Second tab content tabItem(tabName = "widgets", "widgets" ) ) ) ) server <- function(input, output, session) { # 新增session参数 observeEvent(input$nextt, { updateTabItems(session, "inTabset", selected = "widgets") # 修正目标标签页名称 }) } shinyApp(ui, server)
内容的提问来源于stack exchange,提问作者firmo23
相关产品推荐
相关产品推荐

