Layui表格加载时显示Loading及完成后消失的实现方法

作者:橙子时间:2026-10-23 11:25:38浏览:221

本文介绍在Layui框架中使用table组件加载数据时,如何通过layer.load方法显示加载中的Loading动画,并在数据渲染完成后通过layer.close关闭动画的完整代码示例。

Layui表格加载Loading显示与消失实现

在Web项目开发过程中,向服务器后台请求数据时,往往存在网络延迟或数据处理耗时较长的情况。为了提升用户体验,避免用户因长时间无反馈而产生焦虑,通常需要在数据请求阶段展示一个加载中的动画效果(如旋转的Loading图标)。当后台数据成功返回并处理完毕后,该加载动画应当立即消失,以告知用户操作已完成。

在Layui框架中,实现这一功能主要结合table组件与layer模块。以Layui表格为例,每次触发表格数据加载时,可以预先调用layer的加载方法显示Loading状态。具体实现涉及引入必要的CSS和JS文件,并在layui.use中初始化table和layer模块。在table.render配置项中,通过监听done回调函数,在数据渲染完成后调用layer.close来关闭之前创建的Loading索引。


<link rel="stylesheet" href="../layui/css/layui.css" rel="external nofollow" />
<script type="text/javascript" src="../layui/layui.js"></script>
<script>
 layui.use(['table','layer'], function(){
			 var table = layui.table;
			 var layer = layui.layer;
			 var index = layer.load(1); //添加laoding,0-2两种方式
			 //第一个实例
			 table.render({
			  elem: '#userTable',
			  height: 515,
			  method: 'POST', //方式
			  loading: true, //翻页加loading
			  url: weburl, //数据接口
			  request:{
			  	pageName: 'pageIndex',//页码的参数名称,默认:page
 					limitName: 'pageSize' //每页数据量的参数名,默认:limit
			  },
			  where:{
			  	invite_uid:invite_uid //额外参数
			  },
			  response:{
			  	statusName: 'status', //数据状态的字段名称,默认:code
					statusCode: 1,//成功的状态码,默认:0
					msgName: 'msg' ,//状态信息的字段名称,默认:msg
					countName: 'count', //数据总数的字段名称,默认:count
					dataName: 'data' //数据列表的字段名称,默认:data
			  },
			  cols: [[ //表头
			   {type:'numbers',title: '序号', fixed: 'left'},
			   {field: 'u_id', title: '会员id',width:80, fixed: 'left'},
			   {field: 'u_nickname', title: '会员昵称',width:150},
			   {field: 'proxy_level', title: '代理级别',width:100},
			   {field: 'u_goldcnt', title: '拥有金币',width:150},
			   {field: 'today_ubk_balance', title: '今日总输赢',width:150},
			   {field: 'today_tb_balance', title: '今日返还金额',width:150},
			   {field: 'sum_ubk_balance', title: '历史总输赢',width:150},
			   {field: 'sum_tb_balance', title: '历史返还金额',width:150}
			  ]],
			  limit: 10,
			  limits: [10, 20, 30, 40, 50] ,
			  page:{
			  	groups: 5 //只显示 5 个连续页码
			  },
			  done:function (res) {  //返回数据执行回调函数
			  	layer.close(index);  //返回数据关闭loading
			  	
			  }
    });
});
 
</script>

上述内容提供了Layui中表格加载数据时显示Loading以及加载完成后自动消失的完整实例代码。该方案旨在为开发者提供一个清晰、可复用的参考模板,帮助解决前端数据加载时的视觉反馈问题。希望读者通过此示例能够顺利实现类似功能,并欢迎对本站内容给予支持与关注。

作者最新文章