bootstrapTable服务端控制分页,无法正常显示的问题解决

在使用bootstrapTable进行服务端分页时遇到问题,offset始终为零,导致所有分页请求返回第一页数据。经过排查,发现是前端初始化设置中queryParamsType设为“undefined”,移除或注释该设置后恢复正常。分享此解决方案,帮助遇到同样问题的开发者避免浪费时间。

我用 bootstrapTable进行分页操作,发现接收到的offset始终是零,所以导致无论点哪个分页都是第一页数据。研究了半天,发现问题出在前端。在初始化定义时候,多了 queryParamsType: "undefined"的定义。也就是默认不分页传参都不定义类型,从而导致BUG。把改行去掉或注释掉,就正常了。具体如下代码:

  <script>
            var $table = $('#table');
            $(function () {
                // bootstrap table初始化
                $table.bootstrapTable({
                    url: '${basePath}/manage/task/mytodolist',
                    height: getHeight(),
                    striped: true,
                    search: false,
                    showRefresh: true,
                    showColumns: true,
                    minimumCountColumns: 2,
                    clickToSelect: true,
                    detailView: false,
                    detailFormatter: 'detailFormatter',
                    pagination: true,
                    paginationLoop: false,
                    sidePagination: 'server',
                    silentSort: false,
                    smartDisplay: false,
                    escape: true,
                    searchOnEnterKey: true,
                    idField: 'taskId',
                    maintainSelected: true,
                    toolbar: '#toolbar',
                   // queryParamsType: "undefined",
                    queryParams: function (params) {
                        var str_search = $('#txt_search_key').val();
                        return {
                            offset: params.offset,
                            limit: params.limit,
                            search: str_search
                        };
                    },
                    columns: [
                        {field: 'ck', checkbox: true},
                        {field: 'taskId', title: '编号', align: 'center'},
                        {field: 'title', title: '任务名称'},
                        {field: 'initiatorRealname', title: '发起人', align: 'center'},
                        {field: 'responsiblemanRealname', title: '责任人', align: 'center'},
                        {field: 'executorRealname', title: '执行人', align: 'center'},
                        {field: 'taskSourceName', title: '任务来源', align: 'center'},
                        {field: 'taskTypeName', title: '任务类型', align: 'center'},
                        {field: 'taskStatusName', title: '任务状态', align: 'center'},
                        {field: 'priorityName', title: '优先级', align: 'center'},
                        {field: 'action', title: '操作', align: 'center', formatter: 'actionFormatter', events: 'actionEvents', clickToSelect: false}
                    ]
                });
            }
            );
            // 格式化操作按钮
            function actionFormatter(value, row, index) {
                return [
                    '<a class="update" href="javascript:;" onclick="viewAction()" data-toggle="tooltip" title="查看"><i class="glyphicon glyphicon-eye-open"></i></a> '
                ].join('');
            }

            // 查看单条记录            
            function viewAction() {
                var rows = $table.bootstrapTable('getSelections');
                if (rows.length != 1) {
                    $.confirm({
                        title: false,
                        content: '请选择一条记录!',
                        autoClose: 'cancel|3000',
                        backgroundDismiss: true,
                        buttons: {
                            cancel: {
                                text: '取消',
                                btnClass: 'waves-effect waves-button'
                            }
                        }
                    });
                } else {
                    window.open('${basePath}/manage/task/taskinfo?sourceid=5&taskId=' + rows[0].taskId);
                    //window.open('${basePath}/manage/task/taskinfo');
                }
            }


            //折叠查询条件
            $('#collapseone').collapse('hide');

            function search() {

                // 刷新表格  
                $('#table').bootstrapTable('refresh');

            }

            //初始化搜索框
            $('#txt_search_key_placeholder').text("任务编号、任务名称");
        </script>

 问题解决了,不愿意独享,特分享大家,避免走弯路。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值