Как включить определенное подменю в Rshiny? - PullRequest
0 голосов
/ 22 сентября 2018

Я разрабатываю блестящее приложение, используя пакет панели инструментов.При этом пункт меню имеет 2 подменю, и приложение должно реагировать в соответствии с выбором подменю.Но без выбора подменю у меня отображаются мои данные.Может кто-нибудь помочь мне решить эту проблему?Это использованный фрагмент кода.Заранее спасибо.

dashboardSidebar(
    sidebarMenu(
       menuItem('Modify',
                menuSubItem('Edit details', tabName = 'edit'),
                    )
      )),

    dashboardBody(
      tabItems(
        tabItem(tabName = 'edit', 
                hotable('hotable1'),
                downloadButton('downloadData', 'Download')
        )
      )

1 Ответ

0 голосов
/ 22 сентября 2018

Не думаю, что я полностью понимаю ваш вопрос, но из того, что я понял, вы спрашиваете, почему таблица появляется при инициализации приложения, когда пользователь не нажимает menuSubItem.Это поведение по умолчанию в Shiny Dashboard, приложение запустится с первым menuSubItem в качестве значения по умолчанию, если вы хотите конкретную menuSubItem в качестве начальной вложенной вкладки, которая может быть достигнута с помощью опции selected в menuItem

Вот воспроизводимый пример, демонстрирующий такое же поведение, чтобы явно выделить это поведение, которое я использовал startExpanded = TRUE.Здесь вы можете наблюдать, как первый subMenuItem выбран по умолчанию.Подробнее о детском menuItem () можно сослаться здесь

library(shiny)
library(shinydashboard)

ui <- dashboardPage(
  dashboardHeader(), 
  dashboardSidebar(
    sidebarMenu(
      menuItem("Modify",startExpanded = TRUE,
               menuSubItem("Sub-item 1", tabName = "subitem1"),
               menuSubItem("Sub-item 2", tabName = "subitem2")
      )
    )
  ),
  dashboardBody(
    tabItems(
      tabItem("subitem1", "Sub-item 1 tab content"),
      tabItem("subitem2", "Sub-item 2 tab content") 
    )
  )
)

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

}

shinyApp(ui, server)
...