选项卡面板的动态高度调整不适用于信息框
Posted
技术标签:
【中文标题】选项卡面板的动态高度调整不适用于信息框【英文标题】:Dynamic height adjustment of tabpanel does not work with infobox 【发布时间】:2022-01-01 02:57:18 【问题描述】:我正在创建一个闪亮的仪表板,并希望在选项卡面板中使用信息框。但是面板的高度不会动态调整到信息框的高度。如果我将图表集成到面板中,它会自动调整。
我的代码如下所示:
library("shiny")
library("shinydashboard")
library("shinydashboardPlus")
ui <- dashboardPage(
header = dashboardHeader()
,sidebar = dashboardSidebar()
,body = dashboardBody(
tabBox(
tabPanel(
title = "Tab1"
,infoBoxOutput(outputId = "ibo")
)
,tabPanel(
title = "Tab2"
,plotOutput(outputId = "po")
)
,width = 12
)
)
)
server <- function(input, output)
output$ibo <- renderInfoBox(
infoBox(
title = "Infobox"
,value = 42
)
)
output$po <- renderPlot(
plot(mtcars$mpg, mtcars$cyl)
)
shinyApp(ui = ui, server = server)
如何将标签面板的高度调整为信息框的高度?
【问题讨论】:
【参考方案1】:非常简单,将infoBoxOutput
包裹在fluidRow
中:
library("shiny")
library("shinydashboard")
library("shinydashboardPlus")
ui <- dashboardPage(
header = dashboardHeader()
,sidebar = dashboardSidebar()
,body = dashboardBody(
tabBox(
tabPanel(
title = "Tab1",
fluidRow(
infoBoxOutput(outputId = "ibo")
)
)
,tabPanel(
title = "Tab2"
,plotOutput(outputId = "po")
)
,width = 12
)
)
)
server <- function(input, output)
output$ibo <- renderInfoBox(
infoBox(
title = "Infobox"
,value = 42
)
)
output$po <- renderPlot(
plot(mtcars$mpg, mtcars$cyl)
)
shinyApp(ui = ui, server = server)
【讨论】:
以上是关于选项卡面板的动态高度调整不适用于信息框的主要内容,如果未能解决你的问题,请参考以下文章
在 Rmarkdown 中动态创建选项卡不适用于 ggplot,而它适用于 plotly