layui
是一款经典模块化前端框架,主要面向服务端程序员,适合快速构建后台管理系统,且使用方便,样>式优美,但是其中也有许多与其它框架相比不尽人意的地方,本篇主要叙述layui
的table
组件自定义返回格式的问题
layui版本:2.2.25
-
官方文档中详细说明了
table组件接口参数layui
的table
组件异步接口参数:
其中包括上传参数及返回参数,根据文档说明, 可以了解layui的table组件对于服务端响应的json格式是有要求的,响应内容如下:
响应内容
但是其中的response回调中并不像普通ajax的请求一样将数据返回给我们,已便于做进一步处理,如果使用默认的这种方式,就意味着后台接口的返回格式必须按照layui的规定组成,但在实际开发中可能返回的格式相对比较复杂,需要展现的数据往往在json嵌套的深处,而这种格式我们无法处理,但是layui并没有提供自由处理的方式,我们只能通过修改源码来达到我们想要的效果 -
修改后的table.jslayui
的table.js
文件中大概164
行左右修改为如下图:
其中的n.beforeRender,beforeRender
相当于自定义回调的函数名,并且将返回结果作为参数传递 -
使用时,只需新增一个名为
使用beForeRender
的回调,将数据处理后重新赋值:
首先在response
中赋值,指定关键信息的key
,其次在新增回调中对数据进行处理,拿到total
和list
之后,重新赋值给res
对象,layui
的table
组件就会自动渲染加载
- 这种方式虽然达到了效果,但是修改了源码,不利于之后的版本维护和升级,希望
layui
之后的版本能针对这种方式提供一个解决方案
网友评论