bootStarp Table 中的queryParams 和解决后端接收不到数据的问题

在使用bootStarp Table 的时候,会存在页面刷新的情况,所以就提供了queryParams的函数,在boot Strap Table的api中是这样介绍的

请求服务器数据时,你可以通过重写参数的方式添加一些额外的参数,例如 toolbar 中的参数 如果 queryParamsType = 'limit' ,返回参数必须包含
limit, offset, search, sort, order 否则, 需要包含: 
pageSize, pageNumber, searchText, sortName, sortOrder. 
返回false将会终止请求。

也就是说在使用分页数据的时候,将分页的条件添加到该函数中,就会自动带到后台。

 /**
             * refresh函数
             * @param options
             */
            btTable.refresh = function (options) {
                var defaultOptions = this.bootstrapTable('getOptions');
                // queryParams 是用于请求数据的时候
                this.bootstrapTable('refreshOptions', {
                    loadData: true,
                    pageNumber: 1,
                    url: options.url || defaultOptions.url,
                    queryParams: function (parameters) {
                        var queryParams = options;

                        if (queryParams) {
                            for (var key in queryParams) {
                                parameters[key] = queryParams[key];
                            }
                        }
                        if (parameters.url) {
                            delete parameters.url;
                        }
                        return parameters;
                    }
                });
            };

refreshOptions : 刷新选项。

getOptions : 返回表格的 Options。 

以key-value的形式进行数据发送到后端,在后端的使用

  @RequestMapping(path = "/search/page", method = RequestMethod.POST)
    @ResponseBody
    public ResponseEntity findTableData(@RequestBody Map<String, Object> params) {

后端以map的形式进行数据的接收即可

猜你喜欢

转载自blog.csdn.net/weixin_38297879/article/details/84753333
今日推荐