ValueBox в R - отображается только число - PullRequest
0 голосов
/ 04 июня 2018

Я создаю блестящую панель мониторинга и хочу реализовать 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")
    })

}

И все тот же результат:

imagevalueBoxOutput">

Кстати: Infobox работает:

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

1 Ответ

0 голосов
/ 04 июня 2018

valueBox должен использоваться на стороне сервера.Чтобы отобразить блестящий динамический элемент пользовательского интерфейса, обычно есть функция (в данном случае 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)
...