我希望我的dahsboardbody可以根据侧边栏中的选择进行更改。但是,如下图所示,我对主体的渲染存在问题:
此框的宽度= 12,因此应像这样覆盖整个行:
这是我正在使用的代码:
body1 <- dashboardBody(
box(title = "test1", width = 12)
)
body2 <- dashboardBody(
box(title = "test2", width = 12)
)
sidebar <- dashboardSidebar(
sidebarMenu(
menuItem("Choose", tabName = "test",
radioButtons("choice", label = NULL, choices = c("body1", "body2"))
)
)
)
body <- dashboardBody(uiOutput("body"))
ui <- dashboardPage(
header = dashboardHeader(),
sidebar = sidebar,
body = body1
)
server <- function(input, output, session) {
output$body <- renderUI({
if(input$choice == "body1") {
body1
}
else {
body2
}
})
}
shinyApp(ui, server)
调整窗口大小或在浏览器中打开窗口无济于事。我想念什么?
我正在将R版本3.5.0(2018-04-23)与Shinydashboard_0.7.0和Shiny_1.1.0一起使用。
非常感谢您的帮助!
答案 0 :(得分:0)
尝试将body
的{{1}}参数设置如下:
dashboardPage()
另外从ui <- dashboardPage(
header = dashboardHeader(),
sidebar = sidebar,
body = dashboardBody(uiOutput("body"))
)
和dashboardBody()
变量中删除body1
包装器:
body2
它将解决动态主体问题,也可能解决您的渲染问题。