我的页面有两个table,如下
分别使用两次render渲染,没问题,但是点击删除时,只有第一个table可以触发tool事件,第二个不行。
一开始是写了两个table.on,这是不对的,一个table不能绑定两个on。见:layui单个页面多表格table.on事件绑定失效的解决办法
但是他给出的创建两个table实例,我试了无效。
let table1 = layui.table;
let table2 = layui.table;
最后,发现将两个点击事件合并写在on里,并通过lay-event区分即可,注意table.on('tool()'...)
,不要加过滤标志。
<script type="text/html" id="other-files-table-bar">
<button type="button" lay-event="del-other-files">删除</button>
</script>
<script type="text/html" id="mem-table-bar">
<button type="button" lay-event="del">删除</button>
</script>
table.on('tool()', function (obj) { //注:tool 是工具条事件名,test 是 table 原始容器的属性 lay-filter="对应的值"
var data = obj.data; //获得当前行数据
var layEvent = obj.event; //获得 lay-event 对应的值(也可以是表头的 event 参数对应的值)
var tr = obj.tr; //获得当前行 tr 的 DOM 对象(如果有的话)
if(layEvent == 'del'){
table.reload('mem_table', {data: mem_data})
}else if(layEvent == 'del-other-files' ){
table.reload('other_files_table', {data: otherFileData})
}
});