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

DataTables页面重载后表头收缩、点击后恢复正常故障求解

异常原因

该问题属于DataTables常见渲染异常,触发原因包括:初始化时页面样式未完全加载、表格父容器宽度未完成计算,或是Bootstrap与原生DataTables样式发生冲突,导致表头宽度计算错误。点击表头时会触发表格自动重绘,所以样式会恢复正常。

修复方案

  • 给表格标签强制设置100%宽度
    为<table>标签添加固定宽度样式,避免初始宽度计算偏差:

    <table id="draft-data-table" style="width:100% !important;">
    
  • 初始化完成后手动触发列宽重计算
    在DataTables配置项中添加initComplete回调,调用官方columns.adjust()接口重新适配列宽:

    $(document).ready(function () {
        $('#draft-data-table').DataTable({
            processing: true, 
            serverSide: false,
            filter: true,
            orderMulti: false,
            "pagingType": "full_numbers",
            pageLength: 5,
            lengthMenu: [1, 3, 5, 20, 50, 100, 200, 500],
            deferRender: true,
            paging: true,
            scrollY: 200,
            scrollCollapse: true,
            scroller: true,
            // 新增回调配置
            initComplete: function () {
                this.api().columns.adjust();
            }
        });
    });
    
  • 替换适配Bootstrap的DataTables资源
    当前同时引入了Bootstrap样式和原生DataTables样式,存在样式冲突风险,可将现有原生DataTables的CSS、JS资源替换为对应版本的Bootstrap适配版资源。

  • 调整初始化触发时机
    若以上方案无效,可将表格初始化代码从$(document).ready()中迁移至$(window).on('load', function() { ... })内,等待页面所有静态资源加载完成后再初始化表格,避免样式未加载完成导致的宽度计算错误。

内容的提问来源于stack exchange,提问作者Ikram Ullah Khan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 07:36:01