首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R Shinydashboard dynamic tabItem不工作

R Shinydashboard dynamic tabItem不工作
EN

Stack Overflow用户
提问于 2019-03-04 11:22:49
回答 1查看 342关注 0票数 1

有一些示例可用于Shinydashboard dynamic menuItems。最有用的是hereherehere

但是,当我尝试动态呈现每个menuItem中的内容时,我无法使其工作。

您将从我的示例中注意到,menuItem "main“是在服务器端动态创建的,但其中的UI项不是(textInput、passwordInput和actionButton)。

这是我的代码。

代码语言:javascript
复制
library(shiny)
library(shinydashboard)

# Define UI for app
header1 <- dashboardHeader(
  title = "My Dynamic Menu"
) #dashboardHeader

# DYNAMIC UI
sidebar1 <- dashboardSidebar(
  sidebarMenu(
    menuItemOutput("menuitems")
  ) #sidebarMenu
) #dashboardSidebar
#
body1 <- dashboardBody(
  tabItems(
    menuItemOutput("tabitems")
  ) #tabItems
) #dashboardBody

ui <- dashboardPage(header1, sidebar1, body1)

# Define server logic
server <- function(input, output, session) {

  output$menuitems <- renderMenu({
    menuItem("Main", tabName = "main", icon = icon("key"))
  }) #renderMenu

  output$tabitems <- renderUI({
    tabItem(tabName = "main",
            h2("Login"),
            textInput(inputId = "username1", label = "User name:", value = ""),
            passwordInput(inputId = "password1", label = "Password:"),
            actionButton(inputId = "loginbutton1", label = "Login")
    ) #tabItem
  }) #renderUI

} #server

# Run the application 
shinyApp(ui = ui, server = server)

UI元素看起来就像我用下面的代码替换了# DYNAMIC UI部件...

代码语言:javascript
复制
# STATIC UI
sidebar1 <- dashboardSidebar(
  sidebarMenu(
    menuItem("Main", tabName = "main", icon = icon("key"))
  ) #sidebarMenu
) #dashboardSidebar
#
body1 <- dashboardBody(
  tabItems(
    tabItem(tabName = "main",
            h2("Login"),
            textInput(inputId = "username1", label = "User name:", value = ""),
            passwordInput(inputId = "password1", label = "Password:"),
            actionButton(inputId = "loginbutton1", label = "Login")
    ) #tabItem
  ) #tabItems
) #dashboardBody

我知道它不会在其中呈现单独的UI元素,因为我在dashboardBody中为("tabitems")使用了menuItemOutput。我在文档中找不到任何其他用于创建动态UI元素的UI端函数。

如何动态添加UI项并将其保留在各自的菜单项中?

如果你能帮我解决这个问题,我将不胜感激!有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2019-03-10 01:33:22

它应该显示uiOutput("tabitems"),而不是menuItemOutput("tabitems")

现在它起作用了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54976204

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档