我正在使用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)
任何有关如何解决当前示例的帮助都将非常有用,或者提供任何其他方法来解决第二个侧边栏问题。一旦有了一个可行的示例,我会将其全部包装到其自己的函数中。
答案 0 :(得分:0)
我能够使用verticalTabsetPanel
包中的verticalTabPanel
和shinyWidgets
函数获得解决方案。我认为那里有一个更好的解决方案,但是它将需要比我更多的前端体验。