layui的table组件接收的数据格式

后端发送一个JSON数据给前端

{
    "code": 0,
    "count": 0,
    "data": {
        "endRow": 3,
        "hasNextPage": false,
        "hasPreviousPage": false,
        "isFirstPage": true,
        "isLastPage": true,
        "list": [
            {
                "birthday": "2022-10-10",
                "id": 2,
                "password": "123",
                "username": "admin"
            },
            {
                "birthday": "2022-10-10",
                "id": 3,
                "password": "curry123",
                "username": "curry"
            },
            {
                "birthday": "2022-10-10",
                "id": 15,
                "password": "123",
                "username": "jack"
            },
            {
                "birthday": "2022-10-10",
                "id": 16,
                "password": "123",
                "username": "tom"
            }
        ],
        "navigateFirstPage": 1,
        "navigateLastPage": 1,
        "navigatePages": 5,
        "navigatepageNums": [
            1
        ],
        "nextPage": 0,
        "pageNum": 1,
        "pageSize": 4,
        "pages": 1,
        "prePage": 0,
        "size": 4,
        "startRow": 0,
        "total": 4
    },
    "msg": "执行成功",
    "success": true
}

数据格式解析的回调函数,用于将返回的任意数据格式解析成 table 组件规定的数据格式。

table 组件默认规定的数据格式为

{
  "code": 0,
  "msg": "",
  "count": 1000,
  "data": [{}, {}]
}

很多时候,接口返回的数据格式并不一定都符合 table 默认规定的格式,比如:

{
  "status": 0,
  "message": "", 
  "total": 180, 
  "data": {
    "item": [{}, {}]
  }
}

那么需要借助 parseData 回调函数将其解析成 table 组件所规定的数据格式

table.render({
  elem: '#demp'
  ,url: ''
  ,parseData: function(res){ //res 即为原始返回的数据
    return {
      "code": res.status, //解析接口状态
      "msg": res.message, //解析提示文本
      "count": res.total, //解析数据长度
      "data": res.data.item //解析数据列表
    };
  }
  //,…… //其他参数
});

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
layui 中,使用 table.render 方法渲染表格后,可以通过 page 参数来开启分页功能。同时,还需要通过 url 参数来设置数据接口的 URL,以便进行翻页查询。 具体操作步骤如下: 1. 在 HTML 中创建一个 table 元素,并添加 id 属性和 lay-filter 属性,用于后续在 JS 代码中调用。 ```html <table id="demo" lay-filter="test"></table> ``` 2. 在 JS 代码中,使用 table.render 方法渲染表格,并设置 page 参数为 true,开启分页功能。同时,还需要设置 url 参数为数据接口的 URL。 ```javascript // 渲染表格 table.render({ elem: '#demo', url: '/getData', // 数据接口的 URL page: true, // 开启分页功能 cols: [[ {field: 'id', title: 'ID', width:80}, {field: 'username', title: '用户名', width:120}, {field: 'email', title: '邮箱'}, {field: 'sex', title: '性别', width:80}, {field: 'city', title: '城市'}, {field: 'sign', title: '签名'}, {field: 'experience', title: '积分', width: 80}, {field: 'score', title: '评分', width: 80}, {field: 'classify', title: '职业'}, {field: 'wealth', title: '财富', width: 135}, ]] }); ``` 3. 在服务端编写数据接口,用于返回分页数据。一般来说,需要接收两个参数:limit 和 page。其中,limit 表示每页显示的数据条数,page 表示当前页码。 ```python # Python Flask 示例代码 @app.route('/getData') def getData(): limit = request.args.get('limit', default=10, type=int) page = request.args.get('page', default=1, type=int) offset = (page - 1) * limit data = db.query('SELECT * FROM users LIMIT %s, %s', (offset, limit)) count = db.query('SELECT COUNT(*) FROM users')[0]['COUNT(*)'] return jsonify({"code": 0, "msg": "", "count": count, "data": data}) ``` 在这个示例中,我们通过 limit 和 page 参数来进行分页查询。同时,还需要查询总数据条数 count,以便在前端显示正确的分页信息。 4. 至此,翻页查询功能就已经实现了。在前端页面上,可以通过 layui 的分页组件来进行翻页操作,同时,数据也会动态刷新。 注意:在真实项目中,需要根据具体需求对分页功能进行定制,例如:自定义分页样式、添加搜索功能等。同时,还需要注意安全性问题,防止 SQL 注入等攻击。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值