layui 表格在排序之后沒有重新渲染問題


問題描述:

在layui表格中,最后一列增加了操作按鈕,並且在某些行設置了樣式,但是在排序之后,按鈕的點擊事件失效了,樣式也沒有了,可能是沒有執行done回調

原因:

done回調只有在render和reload的時候執行

解決辦法:

在生成完表格之后,監聽排序事件,在排序事件里面執行reload方法,重新執行done回調,並且初始化排序

例子:

html代碼

<div id="tableTest" lay-filter="test"></div>

js代碼:

var table = layui.table;
var dataList = [
    { No: 1, Name: '張三' },
    { No: 2, Name: '李四' }
];
var titleList = [[
      { field: 'No', title: '序號' },
      { field: 'Name', title: '名字' }
]];
table.render({ elem: '#tableTest', data: dataList, cols: titleList, id: 'tableId' });
table.on('sort(test)', function(obj) {
    table.reload('tableId', {
        initSort: obj
    });
});
table.reload('tableId', {});

注意:

  ①sort事件()里面的test是初始容器里面的lay-filter屬性的值

  ②reload里面的tableId是table.render里面的id值,唯一標識表格

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM