R语言 如何在闪亮的应用程序用户界面中制作一个框

nvbavucw  于 2022-12-25  发布在  其他
关注(0)|答案(1)|浏览(123)

在使用shinythems库时,我尝试在我的闪亮应用程序中添加一个框:

library(shiny)
library(DT)
library(shinythemes)
library(shinydashboard)

ui <- fluidPage(
  theme = shinytheme("lumen"),
  navbarPage("test theme",
    tabPanel("tab1",
             mainPanel(width = 12,
                       fluidRow(
                         box(width=6,title = "title",status = "navy", solidHeader = TRUE,            
                                    dataTableOutput(outputId = "tab"))))
               
             ))
    
  )
)

Server <- function(input, output,session){
  
 output$tab = renderDataTable(mtcars)
   
}

shinyApp(ui, server)

但是它并不像我预期的那样工作!
x1c 0d1x我希望得到类似于:

我也试过titlePanel,但是不起作用!

pbossiut

pbossiut1#

我不相信你可以像这样混合搭配 * shinyfluidPage *、shinythemesshinydashboard 中的元素。为了让box正常工作,它需要shinydashboard CSS,并且你通常会使用这个CSS

dashboardPage(
  dashboardHeader(),
  dashboardSidebar(),
  dashboardBody()
)

布局,而不是fluidPage()/fixedPage()闪亮布局。
虽然..有shinyWidgets::useShinydashboard()

library(DT)
library(shiny)
library(shinythemes)
library(shinydashboard)

library(shinyWidgets)

ui <- fluidPage(
  theme = shinytheme("lumen"),
  shinyWidgets::useShinydashboard(),
  navbarPage("test theme",
    tabPanel("tab1",
      mainPanel(width = 12,
        fluidRow(
          box(width = 12, 
            title = "title", status = "warning", solidHeader = TRUE,
            dataTableOutput(outputId = "tab")
          )
        )
      )
    )
  )
)

server <- function(input, output, session) {
  output$tab <- renderDataTable(mtcars)
}

shinyApp(ui, server)

DT可能不是这里最好的例子,因为它需要一些响应设置(它不考虑框边界,box(width = 6, ...)只画了表格的一半)。

相关问题