Layui table无数据时显示Error而不是显示无数据

先放问题和结果:

layui table无数据时显示Error而不是显示无数据,是因为接口返回状态码的问题,

当无数据时code返回了0,就会导致出现Error

第一种解决方案(后端接口处理):

  后端接口把无数据返回的code改成201

第二种解决方案(前端处理):

  加载数据的时候做处理:

table.render({
    elem: '#demo' //指定原始表格元素选择器(推荐id选择器)
    ,height: 315 //容器高度
    ,cols: [{}] //设置表头
    ,parseData: function (res) {  
        if(res.count == 0)
        {
           return {
             'code': 201, //接口状态
             'msg': '无数据', //提示文本
             'count': 0, //数据长度
             'data': [] //数据列表,是直接填充进表格中的数组
           }
        }
      },
  });
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用 Ajax 加载数据并渲染到 layui 表格的示例代码: HTML 代码: ```html <table id="myTable" lay-filter="myTable"></table> ``` JavaScript 代码: ```javascript layui.use(['table', 'jquery'], function(){ var table = layui.table; var $ = layui.jquery; table.render({ elem: '#myTable', url: '/api/getData', cols: [[ {field: 'id', title: 'ID'}, {field: 'name', title: '姓名'}, {field: 'age', title: '年龄'} ]] }); // 监听表格工具栏 table.on('toolbar(myTable)', function(obj){ if(obj.event === 'reload'){ // 刷新表格 table.reload('myTable'); } }); // 监听表格排序 table.on('sort(myTable)', function(obj){ console.log(obj.field); // 当前排序的字段名 console.log(obj.type); // 当前排序类型:desc(降序)、asc(升序)、null(空对象,默认排序) // 重新渲染表格 table.reload('myTable', { initSort: obj, // 指定初始排序字段和排序类型 where: { // 传递额外参数 sortField: obj.field, sortOrder: obj.type } }); }); // 监听表格行双击事件 table.on('rowDouble(myTable)', function(obj){ console.log(obj.data); // 当前行的数据 console.log(obj.tr); // 当前行的 DOM 对象 // 弹出编辑框 layer.open({ type: 1, title: '编辑', content: '<form><input type="text" name="name" value="'+ obj.data.name +'" lay-verify="required|name"></form>', btn: ['保存', '取消'], yes: function(index, layero){ // 提交表单 $.ajax({ url: '/api/updateData', type: 'POST', data: { id: obj.data.id, name: $('input[name="name"]').val() }, success: function(res){ if(res.code === 0){ // 更新表格数据 obj.update({ name: $('input[name="name"]').val() }); // 关闭弹窗 layer.close(index); }else{ layer.msg('保存失败'); } }, error: function(){ layer.msg('保存失败'); } }); } }); }); }); ``` 上述代码中,通过 `table.render()` 方法初始化表格,并设置 `url` 属性为 Ajax 接口地址,`cols` 属性为表头列信息。在监听表格工具栏、排序和行双击事件,通过 `table.reload()` 方法重新渲染表格,并通过 `where` 属性传递额外参数。在行双击事件中,弹出编辑框,并通过 Ajax 提交数据更新后,使用 `obj.update()` 方法更新表格数据,并关闭弹窗。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值