layui.table绘制好的表格怎么重新渲染
如果在使用 layui.table 组件时,需要重新渲染表格(例如:表格数据更新或者需要重新排序等操作),可以使用 table.reload() 方法。
table.reload() 方法的语法如下:
table.reload(表格的lay-filter值, { where: { // 条件 key1: value1, key2: value2, // ... }, page: { // 分页参数 curr: 1 // 重新从第一页开始 }, // 其他参数 });
其中,第一个参数是表格的 lay-filter 属性的值,第二个参数是一个对象,用来传递参数。
table.reload() 方法的参数说明:
-
where:传递给后端的查询条件,可以是一个对象或一个函数,具体使用方法可以参考 layui 的文档。 page:分页参数,可以设置 curr 参数,表示重新从第几页开始显示。 其他参数:可以传递一些其他的配置参数,例如:排序、表头等,具体可以参考 layui 的文档。
下面是一个示例:
layui.use([table], function(){ var table = layui.table; // 渲染表格 table.render({ elem: #demo, url: /api/getData, cols: [[ { field: id, title: ID, width: 80}, { field: username, title: 用户名, width: 120}, { field: email, title: 邮箱}, { field: phone, title: 手机}, { field: status, title: 状态, width: 80}, { field: operate, title: 操作, toolbar: #operateTpl, width: 160}, ]], }); // 监听按钮点击事件 $(#btn-refresh).click(function(){ // 重新加载数据 table.reload(demo, { page: { curr: 1 } }); }); });
在上述代码中,我们添加了一个按钮,并绑定了一个点击事件。当按钮被点击时,会重新加载表格数据,即重新渲染表格。
注意,table.reload() 方法必须在表格渲染后才能调用。如果需要在表格未渲染时调用,可以使用 table.render() 方法的 done 回调函数。