Как отобразить виджет ввода в свернутом пункте меню?

Я пытаюсь отобразить меню флажков в свернутом пункте меню в shinydashboard, но не могу заставить его работать. До сих пор я нашел только похожую проблему github при рендеринге dashboardBody, но я не мог понять, как это будет применяться к 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])
    })
  }
)

1 ответ

  1. Я думаю, что проблема в том, что нет ничего, что запускает это 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)
      }
    )