You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R Shiny DT使用Bootstrap样式时分页按钮显示为文本的修复方法

问题原因

你使用的bs4Dash框架基于Bootstrap 4开发,而DT组件默认的style="bootstrap"参数适配的是Bootstrap 3的样式规范,二者分页组件的类名、样式规则不兼容,因此会出现分页按钮失去样式、显示为纯文本的问题。

解决方案

方案1:替换DT样式参数(最优方案)

直接将DT::renderDataTable中的style参数值修改为bootstrap4,匹配bs4Dash的Bootstrap版本即可自动适配样式:

style = "bootstrap4"

方案2:添加自定义CSS兼容

如果因业务需求必须保留style="bootstrap"配置,可在ui部分添加自定义CSS补充分页组件的样式规则:

dashboardBody(
  tags$style(HTML("
    .dataTables_paginate .paginate_button {
      padding: 6px 12px;
      margin-left: -1px;
      border: 1px solid #dee2e6;
      color: #007bff;
      cursor: pointer;
    }
    .dataTables_paginate .paginate_button.current {
      background-color: #007bff;
      color: white;
      border-color: #007bff;
    }
    .dataTables_paginate .paginate_button:hover {
      background-color: #e9ecef;
      color: #0056b3;
      border-color: #dee2e6;
    }
  ")),
  fluidRow(column(12, DT::dataTableOutput('mytable')))
)
修改后完整可运行代码
if (interactive()) {
  library(shiny)
  library(DT)
  library(bs4Dash)

  shinyApp(
    ui = dashboardPage(
      header = dashboardHeader(),
      sidebar = dashboardSidebar(),
      body = dashboardBody(
        fluidRow(column(12, DT::dataTableOutput('mytable')))
      ),
      footer = dashboardFooter()
    ),
    server = function(input, output) {
      output$mytable <- DT::renderDataTable(iris,
                                            style="bootstrap4",
                                            options = list(
                                              dom = 'Bfrtip',
                                              lengthMenu = c(50, 100),
                                              pageLength = 20,
                                              scrollX=TRUE,
                                              autoWidth = TRUE,
                                              paging=TRUE,
                                              searching=FALSE,
                                              ordering=TRUE
                                            ))
    }
  )
}

内容的提问来源于stack exchange,提问作者FreyGeospatial

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 03:06:03