2016-12-29 35 views
0

我想呈现shinydashboard中折叠菜单项中的复选框菜单,但我无法让它工作。到目前为止,我只在渲染到dashboardBody时发现了类似github issue,但我无法弄清楚这将如何适用于siderbarMenu如何渲染折叠菜单项中的输入小部件?

library('shiny') 
library("shinydashboard") 

header <- dashboardHeader() 

sidebar <- dashboardSidebar(
    sidebarMenu(
    menuItem("Inputs", icon = icon("bar-chart-o"), tabName = "tabOne", 
      uiOutput('mymenu') 
    ) 
) 
) 

body <- dashboardBody(
    h3('nothing here') 
) 

shinyApp(
    ui = dashboardPage(header, sidebar, body), 
    server = function(input, output) { 


    output$mymenu <- renderUI({ 

     checkboxGroupInput('mymenu', 'lettersMenu', 
         letters[1:5], 
         letters[1:5]) 
    }) 
    } 
) 

回答

0

我认为这个问题是没有什么触发这个renderUI。尝试添加这对您的代码:

outputOptions(output, "mymenu", suspendWhenHidden = FALSE) 

编辑

library('shiny') 
library("shinydashboard") 

header <- dashboardHeader() 

sidebar <- dashboardSidebar(
    sidebarMenu(
    menuItem("Inputs", icon = icon("bar-chart-o"), tabName = "tabOne", 
      uiOutput('mymenu') 
    ) 
) 
) 

body <- dashboardBody(
    h3('nothing here') 
) 

shinyApp(
    ui = dashboardPage(header, sidebar, body), 
    server = function(input, output) { 


    output$mymenu <- renderUI({ 

     checkboxGroupInput('mymenu', 'lettersMenu', 
         letters[1:5], 
         letters[1:5]) 
    }) 
    outputOptions(output, "mymenu", suspendWhenHidden = FALSE) 
    } 
) 
+0

在哪里?另外,为什么我需要触发'renderUI'?我能够使用基本相同的代码来呈现菜单,而不使用'shinydashboard'。 – Dambo

+0

这段代码将被放置在'server()'内部,但在'output $ mymenu'之外。 – user5029763

+0

不幸的是,我无法解释为什么这段代码能够正常工作......但上周我有类似的问题,这就是我解决它的方法...... – user5029763