Sto provando a impostare un'app lucida usando shinydashboard e, per la maggior parte, con buona fortuna. Tuttavia, mi imbatto in una stranezza con il comportamento della barra laterale che penso sia evitabile, ma non ho ancora trovato il modo.Passaggio da menuSubItems a shinyDashboard
Di seguito è riportato un piccolo esempio che riproduce il problema riscontrato. Fondamentalmente, ci sono due Menù sidebar: Menu Uno e Menu Due, ciascuno con due menu Soggetto. La commutazione di elementi secondari all'interno di una voce di menu funziona correttamente. Quindi, se volessi passare da subItemOne a subItemTwo, nessun problema. Posso farlo tutto il giorno
Posso anche passare a voci secondarie attraverso i menu, in modo tale che passando da subItemOne a subItemThree, va bene. Il problema sta nel tentativo di tornare indietro. Se subItemOne è selezionato, e provo a passare a subItemThree e indietro a subItemOne, non riesco a farlo. Devo andare a subItemTwo, quindi posso aprire SubItemOne.
C'è un modo per correggere questa configurazione in modo tale da poter passare direttamente da subItemOne a subItemThree (o due e quattro) e viceversa?
library('shiny')
library('shinydashboard')
# Sidebar #############################
sidebar <- dashboardSidebar(
width = 290,
sidebarMenu(
menuItem('Menu One', tabName = 'menuOne', icon = icon('line-chart'),
collapsible =
menuSubItem('Sub-Item One', tabName = 'subItemOne'),
menuSubItem('Sub-Item Two', tabName = 'subItemTwo')
)
),
sidebarMenu(
menuItem('Menu Two', tabName = 'menuTwo', icon = icon('users'),
collapsible =
menuSubItem('Sub-Item Three', tabName = 'subItemThree'),
menuSubItem('Sub-Item Four', tabName = 'subItemFour')
)
)
)
# Body #############################
body <- dashboardBody(
tabItems(
tabItem(tabName = 'subItemOne',
h2('Selected Sub-Item One')
),
tabItem(tabName = 'subItemTwo',
h2('Selected Sub-Item Two')
),
tabItem(tabName = 'subItemThree',
h2('Selected Sub-Item Three')
),
tabItem(tabName = 'subItemFour',
h2('Selected Sub-Item Four')
)
)
)
# UI #############################
ui <- dashboardPage(
dashboardHeader(title = 'Test', titleWidth = 290),
sidebar,
body
)
# Server #############################
server <- function(input, output){
}
shinyApp(ui, server)