2017-02-10 6 views
2

私はnavbarPageのtabPanelの中​​にmainPanelとsidebarPanelを持つ光沢のあるアプリを持っています。私はこのようなサイドバーパネルを隠すオプションが必要です:Hide sidebar in default in shinydashboardhttps://github.com/daattali/shinyjs/issues/43光沢のあるアプリでsidebarPanelを折りたたむには?

actionButtonは、サイドバーパネルが表示されているか折りたたまれているかを制御する必要があります。

これはコードです:

library(shiny) 
library(shinyjs) 

ui <- fluidPage(
    navbarPage("", 
      tabPanel("tab", 
         sidebarPanel(
         useShinyjs() 
        ), 

         mainPanel(actionButton("showSidebar", "Show sidebar"), 
           actionButton("hideSidebar", "Hide sidebar") 
        ) 
      ) 
) 
) 

server <-function(input, output, session) { 
    observeEvent(input$showSidebar, { 
    shinyjs::removeClass(selector = "body", class = "sidebarPanel-collapse") 
    }) 
    observeEvent(input$hideSidebar, { 
    shinyjs::addClass(selector = "body", class = "sidebarPanel-collapse") 
    }) 
} 

shinyApp(ui, server) 

ホープ誰かが、私はサイドバーを非表示にし、表示するコードを変更した:)

答えて

3

ことができます。 sidebarPanelidを作成するにはdiv内に同封してid = Sidebarとします。サイドバーを表示したり隠したりするには、shinyjs関数showhideSidebarとして使用しました。

library(shiny) 
library(shinyjs) 

ui <- fluidPage(
    useShinyjs(), 
    navbarPage("", 
      tabPanel("tab", 
         div(id ="Sidebar",sidebarPanel(
        )), 


         mainPanel(actionButton("showSidebar", "Show sidebar"), 
           actionButton("hideSidebar", "Hide sidebar") 
        ) 
      ) 
) 
) 

server <-function(input, output, session) { 
    observeEvent(input$showSidebar, { 
    shinyjs::show(id = "Sidebar") 
    }) 
    observeEvent(input$hideSidebar, { 
    shinyjs::hide(id = "Sidebar") 
    }) 
} 

shinyApp(ui, server) 

希望します。

関連する問題