【发布时间】:2021-01-13 01:21:16
【问题描述】:
现在我在 shinydashboard 中遇到了 tabItem 的问题。我在侧边栏菜单中有一个菜单项,我想做的是当我点击动作按钮时,会添加一个新的菜单项和一个新的tabitem。但是,当我部署代码时,奇怪的是新渲染的tabitem内容只是将自己附加到第一个 tabitem。 我已经将 tabitem 放在 tabitems 中,但我仍然遇到这个问题。下面是代码:
library(shiny)
library(shinydashboard)
## ============================================ Define ui ==================================================
header1 <- dashboardHeader(
title = "My Dynamic Menu"
) #dashboardHeader
# DYNAMIC UI
sidebar1 <- dashboardSidebar(
sidebarMenu(
menuItem('aa',tabName = 'aa')
) ,
sidebarMenuOutput('bb')
) #dashboardSidebar
#
body1 <- dashboardBody(
tabItems(
tabItem(tabName = 'aa','aaa', actionButton('submit','Submit')),
uiOutput('cc')
) #tabItems
) #dashboardBody
ui <- dashboardPage(header1, sidebar1, body1)
server <- function(input, output, session) {
observeEvent(input$submit, {
output$bb<-renderMenu({
sidebarMenu(
menuItem("Main", tabName = "main")
)
})
output$cc<-renderUI({
tabItem(tabName = "main",
h2("Login"),
textInput(inputId = "username1", label = "User name:", value = ""),
passwordInput(inputId = "password1", label = "Password:"),
actionButton(inputId = "loginbutton1", label = "Login")
)
})
})
} #server
## ============================================ Run application ============================================
shinyApp(ui, server)
感谢谁能帮我解决这个问题。
【问题讨论】:
标签: r shiny shinydashboard tabitem