shinydashboard :使用 uiOutput 时获取特定的默认页面
shinydashboard : getting specific default page while using uiOutput
我正在制作响应式闪亮网页并卡在下面的代码处。
library(shiny)
library(shinydashboard)
ui = dashboardPage(
dashboardHeader(title = "header"),
dashboardSidebar(
sidebarMenuOutput("sideBar")),
dashboardBody(
uiOutput("test")
)
)
server = shinyServer(function(input, output, session) {
output$sideBar <- renderMenu({
sidebarMenu(id = "menu",
menuItem("Dashboard", tabName ="dashboard", icon = icon('dashboard')),
menuItem("DBcentor", tabName ="dbcenter", icon = icon('database'))
)
})
output$test <- renderUI ({
tabItems(
tabItem(tabName = "dashboard", uiOutput("dashboardbody")),
tabItem(tabName = "dbcenter", uiOutput("dbcenterbody"))
)
})
output$dashboardbody <- renderUI ({
box("Dashboard Body")
})
output$dbcenterbody <- renderUI ({
box("Dbcenter Body")
})
})
shinyApp(ui, server)
我使用 uiOutput
构建主体,但在加载闪亮的应用程序后,仪表板页面上没有任何内容。
我这样修改了我的代码,
library(shiny)
library(shinydashboard)
ui = dashboardPage(
dashboardHeader(title = "header"),
dashboardSidebar(
sidebarMenuOutput("sideBar")),
dashboardBody(
tabItems(
tabItem(tabName = "dashboard", uiOutput("dashboardbody")),
tabItem(tabName = "dbcenter", uiOutput("dbcenterbody"))
)
)
)
server = shinyServer(function(input, output, session) {
output$sideBar <- renderMenu({
sidebarMenu(id = "menu",
menuItem("Dashboard", tabName ="dashboard", icon = icon('dashboard')),
menuItem("DBcentor", tabName ="dbcenter", icon = icon('database'))
)
})
output$dashboardbody <- renderUI ({
box("Dashboard Body")
})
output$dbcenterbody <- renderUI ({
box("Dbcenter Body")
})
})
shinyApp(ui, server)
当然可以,box("dashboadbody")
出现在第一页。
我想使用 uiOutput
因为我应该使用 input data
来构建菜单和项目。
有什么方法可以在默认页面上同时使用uiOutput
和获取box("dashboard")
?
试试这个
ui = dashboardPage(
dashboardHeader(title = "header"),
dashboardSidebar(
sidebarMenuOutput("sideBar")),
dashboardBody(
uiOutput("test")
)
)
server = shinyServer(function(input, output, session) {
output$sideBar <- renderMenu({
sidebarMenu(id = "menu",
menuItem("Dashboard", tabName ="dashboard", icon = icon('dashboard')),
menuItem("DBcentor", tabName ="dbcenter", icon = icon('database'))
)
})
output$dashboardbody <- renderUI ({
box("Dashboard Body")
})
output$dbcenterbody <- renderUI ({
box("Dbcenter Body")
})
updateTabItems(session,"menu","dbcenter")
updateTabItems(session,"menu","dashboard")
output$test <- renderUI ({
tagList(
tabItems(
tabItem(tabName = "dashboard", uiOutput("dashboardbody")),
tabItem(tabName = "dbcenter", uiOutput("dbcenterbody"))
))
})
})
shinyApp(ui, server)
我正在制作响应式闪亮网页并卡在下面的代码处。
library(shiny)
library(shinydashboard)
ui = dashboardPage(
dashboardHeader(title = "header"),
dashboardSidebar(
sidebarMenuOutput("sideBar")),
dashboardBody(
uiOutput("test")
)
)
server = shinyServer(function(input, output, session) {
output$sideBar <- renderMenu({
sidebarMenu(id = "menu",
menuItem("Dashboard", tabName ="dashboard", icon = icon('dashboard')),
menuItem("DBcentor", tabName ="dbcenter", icon = icon('database'))
)
})
output$test <- renderUI ({
tabItems(
tabItem(tabName = "dashboard", uiOutput("dashboardbody")),
tabItem(tabName = "dbcenter", uiOutput("dbcenterbody"))
)
})
output$dashboardbody <- renderUI ({
box("Dashboard Body")
})
output$dbcenterbody <- renderUI ({
box("Dbcenter Body")
})
})
shinyApp(ui, server)
我使用 uiOutput
构建主体,但在加载闪亮的应用程序后,仪表板页面上没有任何内容。
我这样修改了我的代码,
library(shiny)
library(shinydashboard)
ui = dashboardPage(
dashboardHeader(title = "header"),
dashboardSidebar(
sidebarMenuOutput("sideBar")),
dashboardBody(
tabItems(
tabItem(tabName = "dashboard", uiOutput("dashboardbody")),
tabItem(tabName = "dbcenter", uiOutput("dbcenterbody"))
)
)
)
server = shinyServer(function(input, output, session) {
output$sideBar <- renderMenu({
sidebarMenu(id = "menu",
menuItem("Dashboard", tabName ="dashboard", icon = icon('dashboard')),
menuItem("DBcentor", tabName ="dbcenter", icon = icon('database'))
)
})
output$dashboardbody <- renderUI ({
box("Dashboard Body")
})
output$dbcenterbody <- renderUI ({
box("Dbcenter Body")
})
})
shinyApp(ui, server)
当然可以,box("dashboadbody")
出现在第一页。
我想使用 uiOutput
因为我应该使用 input data
来构建菜单和项目。
有什么方法可以在默认页面上同时使用uiOutput
和获取box("dashboard")
?
试试这个
ui = dashboardPage(
dashboardHeader(title = "header"),
dashboardSidebar(
sidebarMenuOutput("sideBar")),
dashboardBody(
uiOutput("test")
)
)
server = shinyServer(function(input, output, session) {
output$sideBar <- renderMenu({
sidebarMenu(id = "menu",
menuItem("Dashboard", tabName ="dashboard", icon = icon('dashboard')),
menuItem("DBcentor", tabName ="dbcenter", icon = icon('database'))
)
})
output$dashboardbody <- renderUI ({
box("Dashboard Body")
})
output$dbcenterbody <- renderUI ({
box("Dbcenter Body")
})
updateTabItems(session,"menu","dbcenter")
updateTabItems(session,"menu","dashboard")
output$test <- renderUI ({
tagList(
tabItems(
tabItem(tabName = "dashboard", uiOutput("dashboardbody")),
tabItem(tabName = "dbcenter", uiOutput("dbcenterbody"))
))
})
})
shinyApp(ui, server)