R中的ValueBox - 仅显示

时间:2018-06-04 15:26:25

标签: r shiny shinydashboard

我正在构建一个闪亮的仪表板,我想在仪表板中实现一个valueBox。

body <- dashboardBody(
  fluidRow(
    valueBox(totalSales,"Total Sales",color="blue")
  ),
  fluidRow(
    DT::dataTableOutput("salesTable")
  ),
  fluidRow(
    DT::dataTableOutput("top10Sales")
  )

)

这就是结果: 左上角的数字是变量totalSales,但它没有在valueBox中格式化。

Output with valueBox

有谁知道问题是什么? 我很感激你的答案!!

我尝试使用valueBoxOutput,但结果相同:

ui.R

  body <- dashboardBody(
  fluidRow(
    valueBoxOutput("totalSales")
  ),
  fluidRow(
    DT::dataTableOutput("salesTable")
  ),
  fluidRow(
    DT::dataTableOutput("top10Sales")
  )

)

server.R

function(input, output, session) {
  output$salesTable = DT::renderDataTable(top10Sales)
  output$top10Sales = DT::renderDataTable(top10Sales)
  #output$totalSales = DT::renderDataTable(totalSales)
  output$totalSales <- renderValueBox({
    valueBox(totalSales, "Approval",color = "yellow")
    })

}

结果仍然相同:

Output with <code>valueBoxOutput</code>

顺便说一下:信息框工作正常:

infoBox("test", value=1, width=3)

1 个答案:

答案 0 :(得分:0)

必须在服务器端使用

valueBox。为了显示闪亮的动态UI元素,通常可以使用一个函数(在这种情况下为valueBoxOutput)来显示它:

library(shinydashboard)
library(dplyr)
library(DT)

body <- dashboardBody(
  fluidRow(
    valueBoxOutput("totalCars")
  ),
  fluidRow(
    DT::dataTableOutput("table")
  )
)


ui <- dashboardPage(header = dashboardHeader(),
                    sidebar = dashboardSidebar(),
                    body = body
)

server <- function(input, output) {

  output$table = DT::renderDataTable(mtcars)

  output$totalCars <- renderValueBox({
    valueBox("Total", nrow(mtcars), color = "blue")
  })
}

shinyApp(ui, server)