layui单页面同时渲染多表格缓存问题和条件查询问题
layui的table参数条件缓存问题(1)layui的table在render的时候,会将部分参数缓存下来,以至于在开发过程中发现,layui的reload方法似乎有“缓存”的功能.原因:在某博客发现,table内部是采用的继承的方法.(2)layui的数据表格如果多个表格在一个页面,每个表格有一个搜索查询的筛选条件,那么每个搜索结果对应的只能刷新一个数据表格在这里插入图片描述如图所示,这部分采
layui的table参数条件缓存问题
(1)layui的table在render的时候,会将部分参数缓存下来,以至于在开发过程中发现,layui的reload方法似乎有“缓存”的功能.
原因:在某博客发现,table内部是采用的继承的方法.
(2)layui的数据表格如果多个表格在一个页面,每个表格有一个搜索查询的筛选条件,那么每个搜索结果对应的只能刷新一个数据表格
在这里插入图片描述
如图所示,这部分采用了layui表格渲染多个,但是用的是一个表格容器,这样写的好处:
1、不用创建多个table容器,只需一个,不管你一个页面需要多少个表格,都是可以的,这种方式适合多个tab页。
2、请求永远只有只有一次,(上面两张图并没有截取到这也是本次文献要讲的问题),那么这渲染表格永远只会存在一个,请求路劲自然也只有一个了
坏处:也就是缓存(解决了就不叫问题了)
解决方法:
有参数的话会发现where里面是有属性的,并且url等参数在reload的时候都会被保留.
所以解决reload缓存的问题:
**在reload的配置内,将参数重新赋值. 比方说
url : ’ ’
where:{ status : 0 }
或者 将条件参数删除 delete this.where;
另外,如果想取消分页,除了 page:false ,有时还需加上 limit: 999 ,因为虽然不分页,但是默认还是10条**
然后我这里解决是用if else解决的,这样写那么多个表格只能存在一个,自然就不会有缓存问题了,这是第一种。
第二种:给每个表格加一个唯一的ID属性,这样也是可以的,并且是最方便的一种
recordTable = layTable.render({
elem: '#tabRecord',
data:[],
page: { //指定分页参数
limit: 10,//指定每页显示的条数
limits: [10, 20, 50, 100]//每页条数的选择项
},
id: 'id5' //唯一ID在这里
});
具体判断条件根据实际情况来。
第二个问题:条件参数默认不清空
只需要给需要的条件赋值,不需要的条件赋值为null或“”即可
filtrate = 0;//条件查询赋值为0(不需要的条件)
strState = null;//条件查询赋值为空(不需要的条件)
更多推荐
所有评论(0)