我的页面有两个table,如下
    image.png
    image.png

    分别使用两次render渲染,没问题,但是点击删除时,只有第一个table可以触发tool事件,第二个不行。
    一开始是写了两个table.on,这是不对的,一个table不能绑定两个on。见:layui单个页面多表格table.on事件绑定失效的解决办法

    但是他给出的创建两个table实例,我试了无效。

    1. let table1 = layui.table;
    2. let table2 = layui.table;

    最后,发现将两个点击事件合并写在on里,并通过lay-event区分即可,注意table.on('tool()'...),不要加过滤标志。

    1. <script type="text/html" id="other-files-table-bar">
    2. <button type="button" lay-event="del-other-files">删除</button>
    3. </script>
    4. <script type="text/html" id="mem-table-bar">
    5. <button type="button" lay-event="del">删除</button>
    6. </script>
    7. table.on('tool()', function (obj) { //注:tool 是工具条事件名,test table 原始容器的属性 lay-filter="对应的值"
    8. var data = obj.data; //获得当前行数据
    9. var layEvent = obj.event; //获得 lay-event 对应的值(也可以是表头的 event 参数对应的值)
    10. var tr = obj.tr; //获得当前行 tr DOM 对象(如果有的话)
    11. if(layEvent == 'del'){
    12. table.reload('mem_table', {data: mem_data})
    13. }else if(layEvent == 'del-other-files' ){
    14. table.reload('other_files_table', {data: otherFileData})
    15. }
    16. });