table.reload没有应用reload方法中的where条件

提问 未结 9 143
彭飞
彭飞 2019-6-12
悬赏:20飞吻
版本:layui 2.5.4 浏览器:
table.render能够正常渲染数据得到想要的where结果。但是在reload中,把where条件改了,看服务器接收的请求参数还是render方法中的where条件。这是为什么啊。

render代码如下:
table.render({
elem: '#bizLogs'
, url: '/admin/api/bizlogs'
, method:'post'
, where: {
"beginDate": "2019/06/01 12:12:12",
"endDate": "2019/06/11 12:12:12",
"page": 1,
"size": 10,
"logType": "INFO"
}
, cellMinWidth: 80 //全局定义常规单元格的最小宽度,layui 2.2.1 新增
, loading: true
, request:{ pageName:'page',limitName:'size'}
, response: {
// statusName: 'code',
statusCode: 200,
// msgName: 'msg',
// dataName: 'data',
// countName: 'count',
},
parseData: function (res) {
return {
"code": res.code,
"msg": res.message,
"data": res.data.content,
"count": res.data.totalElements
}
}
, cols: [
[
{field: 'logType', title: '日志类别'}
, {field: 'bizType', title: '业务类别'}
, {field: 'createTime', title: '创建时间'}
, {field: 'keyWord', title: '关键字'}
, {field: 'result', title: '结果'}
, {field: 'exceptionDetail', title: '异常详情'}
]
]
, id: 'bizLogTable'
});
reload代码如下:
 table.reload('bizLogTable', {
url: '/admin/api/bizlogs'
, method:'post'
, where: {
"beginDate": "2019/06/01 12:12:12",
"endDate": "2019/06/11 12:12:12",
"page": 1,
"size": 3
}
, request:{ pageName:'page',limitName:'size'}
, response: {
// statusName: 'code',
statusCode: 200,
// msgName: 'msg',
// dataName: 'data',
// countName: 'count',
}
, parseData: function (res) {
return {
"code": res.code,
"msg": res.message,
"data": res.data.content,
"count": res.data.totalElements
}
}
, page: {
curr: 1 //重新从第 1 页开始
}
// ,where: {
// key:{venderSku: qry_vendersku.val()
// }
// }
}, 'all')
回帖
  • 你可以 用实例初始化和重载试试
    //所获得的 tableIns 即为当前容器的实例
    var tableIns = table.render({
    elem: '#id'
    ,cols: [] //设置表头
    ,url: '/api/data' //设置异步接口
    ,id: 'idTest'
    });

    //这里以搜索为例
    tableIns.reload({
    where: { //设定异步数据接口的额外参数,任意设
    aaaaaa: 'xxx'
    ,bbb: 'yyy'
    //…
    }
    ,page: {
    curr: 1 //重新从第 1 页开始
    }
    });
    0 回复
  • Zlheb
    2019-6-12
    这个的确算是一个bug,之前有人提过,渲染之前是将where参数存到config里面的,reload的时候是将新的where和config中的where合并,所以说,原来有的参数,在新的where中没有,那也会出现,在不动源码的情况下解决方法就是在reload之前将table.config.where中不要的参数删除,或者将整个where删除,再reload

    0 回复
  • pyjax
    2019-6-12
    @HiTerry 你好 tableIns.reload()搜索的时候,我之前点击的排序字段怎么获取放到where,或者怎么把表格的排序样式去掉
    0 回复
  • 把sort去掉就没有排序样式了
    0 回复
  • 彭飞
    2019-6-12
    试过貌似还是不行啊,。而且我断点看了下,reload为啥执行了两次额,。第一次执行的是我reload方法中的where条件,第二次又执行了一次render方法中的where条件,。简直要被搞崩溃了[衰]
    0 回复
  • 彭飞
    2019-6-12
    感谢各位热心朋友回答,不过怎奈前端技术有限,搞不好。号称给后台人员用的框架,一路跌跌撞撞。对后台人员太不友好了,弃坑。
    0 回复
  • pyjax
    2019-6-12
    @HiTerry 那怎么在搜索的时候把原来的排序传过去呢
    0 回复
  • 你可以定义个中间变量,通过变量传值
    0 回复
  • pyjax
    2019-6-12
    @HiTerry 好的谢谢你
    0 回复