Shinydashboard 仪表板侧边栏宽度设置

10

我正在使用 shiny (0.12.0) 和 shinydashboard (0.4.0) 在 R (RRO 8.0.3 CRAN-R 3.1.3) 中创建用户界面,我很喜欢它的表现。然而,我想控制 dashboardSidebar 项目的宽度,因为我需要在其中放置一些宽度较大的选择器框。

ui <- dashboardPage(
  dashboardHeader(title = "My Dashboard"),
  dashboardSidebar(#stuffhere)  #would like a width param setting
  dashboardBody()
)

有没有办法做到这一点(一些隐藏的宽度参数或嵌入式CSS),还是我必须回到无聊的闪亮并从头开始构建? Sad skinny panel needs more meat
2个回答

11
旧的答案可能仍然有效,但现在也有一个 width = ... 选项。请参见:https://rstudio.github.io/shinydashboard/appearance.html#sidebar-width。 这里是那里展示的示例代码:
shinyApp(
  ui = dashboardPage(
    dashboardHeader(
      title = "Title and sidebar 350 pixels wide",
      titleWidth = 350
    ),
    dashboardSidebar(
      width = 350,
      sidebarMenu(
        menuItem("Menu Item")
      )
    ),
    dashboardBody()
  ),
  server = function(input, output) { }
)

9

侧边栏的宽度是由CSS在.left-side类上设置的,因此您可以执行以下操作:

dashboardPage(
  dashboardHeader(title = "My Dashboard"),
  dashboardSidebar( tags$style(HTML("
      .main-sidebar{
        width: 300px;
      }
    ")),selectInput("id","Select a survey",choices=c("Very very very very long text","text"))), 
    dashboardBody()
  )

这对你有用吗?它没有改变我的格式。我会尝试几个变化。 - Serban Tanasa
是的,对我来说可以工作,也许我们没有相同的 shinydashboard 版本,我正在运行 shinydashboard_0.2.3shiny_0.11.1.9005 - NicE
.left-side 没有起作用。在页面上进行了检查,尝试使用 .main-sidebar{ ... },结果成功了! - Serban Tanasa
是的,我更新了我的软件包,现在侧边栏的类是 main-sidebar - NicE
4
为了让所有内容看起来正确,我需要在dashboardBody函数中添加以下CSS代码:tags$head(tags$style(HTML(' .main-sidebar{ width: 300px; } .main-header > .navbar { margin-left: 300px; } .main-header .logo { width: 300px; } .content-wrapper, .main-footer, .right-side { margin-left: 300px; } '))) - Jay B. Martin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接