zoukankan      html  css  js  c++  java
  • 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值,唯一标识表格

  • 相关阅读:
    C语言 弹跳小球
    selenium 相关操作
    aiohttp 多任务异步协程
    39 数据库索引
    36 数据库 库表行增删改查 枚举 集合
    07 线程池回调函数
    06 gevent版真正的协程
    05 greenlet版协程
    03 线程池
    04 生成器版协程
  • 原文地址:https://www.cnblogs.com/kcat/p/10718090.html
Copyright © 2011-2022 走看看