javascript - Shinydashboard:使侧边栏在身体上方打开而不是挤压主体
问题描述
我不想让侧边栏打开并挤压主体,而是希望通过越过主体来打开侧边栏,这样它就不会弄乱我的输出大小。
如果可能的话,我怎么能做到这一点?
当前行为:
期望的行为:
示例中使用的代码:
library(shinydashboard)
ui <- dashboardPage(
dashboardHeader(title = "Basic dashboard"),
dashboardSidebar(
sidebarMenu(
menuItem("Dashboard", tabName = "dashboard", icon = icon("dashboard")),
menuItem("Widgets", tabName = "widgets", icon = icon("th"))
)
),
dashboardBody(
tabItems(
# First tab content
tabItem(tabName = "dashboard",
fluidRow(
box(plotOutput("plot1", height = 250)),
box(
title = "Controls",
sliderInput("slider", "Number of observations:", 1, 100, 50)
)
)
),
# Second tab content
tabItem(tabName = "widgets",
h2("Widgets tab content")
)
)
)
)
server <- function(input, output) {
set.seed(122)
histdata <- rnorm(500)
output$plot1 <- renderPlot({
data <- histdata[seq_len(input$slider)]
hist(data)
})
}
shinyApp(ui, server)
解决方案
试试这个更新的代码,看看它是否满足您的需求。从我的角度来看,至少在图表上打开侧边栏看起来不太好。为什么在没有侧边栏的情况下打开您的应用程序?
library(shinydashboard)
library(shinyjs)
ui <- dashboardPage(
dashboardHeader(title = "Basic dashboard"),
dashboardSidebar(
sidebarMenu(
menuItem("Dashboard", tabName = "dashboard", icon = icon("dashboard")),
menuItem("Widgets", tabName = "widgets", icon = icon("th"))
)
),
dashboardBody(
useShinyjs(),
tabItems(
# First tab content
tabItem(tabName = "dashboard",
fluidRow(
box(plotOutput("plot1", height = 250)),
box(
title = "Controls",
sliderInput("slider", "Number of observations:", 1, 100, 50)
)
)
),
# Second tab content
tabItem(tabName = "widgets",
h2("Widgets tab content")
)
)
)
)
server <- function(input, output) {
addClass(selector = "body", class = "sidebar-collapse")
set.seed(122)
histdata <- rnorm(500)
output$plot1 <- renderPlot({
data <- histdata[seq_len(input$slider)]
hist(data)
})
}
shinyApp(ui, server)
推荐阅读
- c# - 当您在asp net core mvc中有多合一列表时如何将特定用户添加到表中
- typescript - 如何在 amazon-cognito-identity-js 和 nest.js 中发送代码确认
- linux - 安装过程中 Docker 权限被拒绝
- flutter - Flutter pub 在客户端获取握手错误(操作系统错误:CERTIFICATE_VERIFY_FAILED:应用程序验证失败(handshake.cc:359))
- machine-learning - 将多个时间序列信号转换为一个频谱图
- angular-cli - 带有 eslint 的 Angular 项目超级慢
- angular-cli - 我在安装 angular/cli [npm install -g @angular/cli] 时出错。我已经尝试清理缓存但仍然失败 [npm cache verify]
- c# - PropertyInfo getProperty() 方法的问题
- css - 嵌套基本css
- python - 无法使用 Google Drive API 在 Drive 中上传某些类型