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 回调函数。

经验分享 程序员 微信小程序 职场和发展