簡體   English   中英

R Shinydashboard動態tabItem不起作用

[英]R Shinydashboard dynamic tabItem does not work

有一些適用於Shinydashboard動態menuItem的示例。 最有用的是在這里這里這里

但是,當我嘗試動態呈現每個menuItem內部的內容時,我無法使其正常工作。

您將從我的示例中注意到,menuItem“ main”是在服務器端動態創建的,但其中的UI項不是(textInput,passwordInput和actionButton)。

這是我的代碼。

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部分替換為此一樣...

# 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用於("tabitems") 在文檔中找不到其他用於創建動態UI元素的UI端功能。

如何動態添加UI項並將其保留在各自的菜單項中?

如果您能幫我解決這個問題,我將不勝感激! 有任何想法嗎?

代替menuItemOutput("tabitems") ,它應該說uiOutput("tabitems")

現在可以了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM