响应式DataTables被绘制两次

时间:2017-09-27 21:17:21

标签: jquery datatables laravel-5.5

表格定义......

    <table id="planRouteTable" class="table table-striped table-hover table-bordered responsive">
        <thead>
            <tr>
                <th>Type</th>
                ....other columns....
            </tr>
        </thead>
    </table>

JS定义

基本选项

    baseDataTableOptions: {
        processing: true,
        serverSide: true,
        responsive: true,
        pageLength: 25
    },

初始化

            let options = $.extend({}, window.bp.baseDataTableOptions, {
                ajax: {
                    url: window.bp.apiPath + 'data-tables/users-assigned-inspections'
                },
                columns: [
                    { data: 'policy_type', name: 'policy_type', className: 'text-center', orderable: false },
                    /* Other columns */
                    {
                        target: -1,
                        data: null,
                        className: "text-right",
                        orderable: false,
                        defaultContent: `
                            <button class="[ btn btn-primary ]">Add to Route</button>
                        `
                    }
                ]
            });
            $('#planRouteTable').DataTable(options);

我遇到的问题是,只要table元素添加了responsive类,以便启用DataTables的响应版本,它就会绘制两次。通常情况下,我不在乎,但由于这是渲染服务器端,它会两次点击API端点并随机从服务器触发401响应。

服务器端呈现由Laravel DataTables插件处理。

1 个答案:

答案 0 :(得分:0)

这是版本2.2的错误

From the developer

  

它是2.2%版本的响应中的一个错误我害怕。使用   nightly version将解决此问题直到下一个版本。我会标记它   这很快就会出现。

所以2个选项:

等待官方标签,或者:

bower install https://nightly.datatables.net/responsive/js/dataTables.responsive.min.js