2016-04-23 21 views
1

サイドバーメニューがサーバーコードによって動的に作成され、タブの後にアプリが読み込まれるとコンテンツが表示されないクリックしたサイドバーメニューが動的に作成されている場合、コンテンツがダッシュボード本体に表示されない

この例では、光沢のあるダッシュボードの開始ページからサンプルコードを使用しました。アプリは期待通りに動作します。しかし、わかりますように、サイドバーメニューを動的に作成するように変更します。アプリが読み込まれると空白のページが表示されます。ページを表示するには、サイドバーの最初のタブをクリックする必要があります。デフォルトページ、つまりダッシュボードタブページを表示する方法はありますか?光沢のあるダッシュボードのgithubページに問題を入力しました。あなたの助けをありがとう。

`## app.R ## 
library(shinydashboard) 

ui <- dashboardPage(
dashboardHeader(title = "Basic dashboard"), 
## Sidebar content 
# dashboardSidebar(
# sidebarMenu(
# menuItem("Dashboard", tabName = "dashboard", icon = icon("dashboard")), 
# menuItem("Widgets", tabName = "widgets", icon = icon("th")) 
#) 
#), 

dashboardSidebar(width=150, sidebarMenuOutput("sideMenu") 
), 

dashboardBody(

tabItems(
    # First tab content 
    tabItem(tabName = "dashboard", 
      fluidRow(
      box(plotOutput("plot1", height = 250)), 

      box(
       title = "Controls", 
       sliderInput("slider", "Number of observations:", 1, 100, 50) 
      ) 
     ) 
), 

    # Second tab content 
    tabItem(tabName = "widgets", 
      h2("Widgets tab content") 
) 
) 
) 
) 

server <- function(input, output, session) { 

output$sideMenu <- renderMenu({ 
sidebarMenu(
menuItem("Dashboard", tabName = "dashboard", icon = icon("dashboard")), 
menuItem("Widgets", tabName = "widgets", icon = icon("th")) 
) 
}) 

set.seed(122) 
histdata <- rnorm(500) 

output$plot1 <- renderPlot({ 
data <- histdata[seq_len(input$slider)] 
hist(data) 
}) 
} 

shinyApp(ui, server)` 

答えて

1

アクティブにするには、いずれかのタブを設定する必要があります。例えば

# First tab content 
    tabItem(tabName = "dashboard", class = "active", 
      fluidRow(
      box(plotOutput("plot1", height = 250)), 

      box(
       title = "Controls", 
       sliderInput("slider", "Number of observations:", 1, 100, 50) 
      ) 
     ) 
    ), 
+0

すごいです!どうもありがとう。 –

関連する問題