Shinydashboard添加第二个导航栏

时间:2019-04-09 17:10:43

标签: r shiny shinydashboard

我正在使用Shinydashboard构建一个复杂的闪亮应用程序。我们的UI设计器创建了一个布局,该布局具有第二个侧边栏而不是subMenuItems。我几乎没有前端经验,但是要重现这一点是我的工作。这样做的最佳方法是什么?

我的想法是采用tabBox函数并对其进行自定义,以便导航栏位于侧面而不是顶部。有了它,调整css使其看起来像我们想要的样子应该很简单,并且保留了tabBox附带的简单选项卡控件结构,而不必自己弄花哨。

我设法使这些标签垂直堆叠,但了解的程度还不足以使其沿侧面放置。以下是我到目前为止的内容:

require(shiny)
require(shinydashboard)

fancy_tabs <- tabBox(width = 12,
                    id = "tabset1", height = "200px",
                    tabPanel("these go", box("wow it really works")),
                    tabPanel("on the side", "pls help")
)
fancy_tabs$children[[1]]$children[[1]]$attribs$class <- "nav flex-column shiny-tab-input"

ui <- dashboardPage(
  dashboardHeader( ),
  dashboardSidebar(
    sidebarMenu(
      menuItem("page 1")
    )
  ),
  dashboardBody(
    fancy_tabs
  )
)

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

shinyApp(ui, server)


任何有关如何解决当前示例的帮助都将非常有用,或者提供任何其他方法来解决第二个侧边栏问题。一旦有了一个可行的示例,我会将其全部包装到其自己的函数中。

1 个答案:

答案 0 :(得分:0)

我能够使用verticalTabsetPanel包中的verticalTabPanelshinyWidgets函数获得解决方案。我认为那里有一个更好的解决方案,但是它将需要比我更多的前端体验。