layui重新生成html后的渲染

layui重新生成html后的渲染,第1张

元素功能的开启需要加载element模块,对于重新生成的html,我们要在生成后重新渲染。如果我们的模块是通过ajax异步请求获取到数据后再加载的html,那么我们要等到确保html生成后再执行重新渲染。

有两种方式来处理这个问题

首先,最简单的先渲染一个表格,参考官方示例:

这里先讲讲一些渲染细节:

layui内部就是根据cols属性里面每项的field字段来输出数据(该字段跟后台返回的数据字段一致即可输出)。

另外,layui拼接html字符串的方式多次应用数组join方法的方式,这种方式值得安利一波:

否则用传统方式拼接html字符串就相形见绌了(不推荐):

接着,看一下分页

从图中可以看出,我们请求地址没加请求参数,layui自动帮我们添加了page,limit的请求参数,默认值分别为1, 10,这是开启了分页的缘故(page: true)。那么,请求参数名是否可以定制呢?答案是可以的,参考request属性:

同样,响应参数名也是可以定制的,参考response属性:

注意,以上只是定制了参数名字而已,接下来才是重头戏:定制数据格式,参考parseData属性:

parseData可以帮助我们定制好与layui对应的表格数据格式,从而输出表格,这是很有用的,毕竟后端前辈返回的数据格式未必跟layui的一致呀。有了以上3种定制方式,我们就不惧输出数据表格了。采用这种方式输出的就是真正的实现了分页,下文提及的方式可不是真正的分页。

-----------------------快乐的分割线,前方jojo高能-----------------------

可能也有小伙伴无视了 request、response、parseData 三剑客,转而用起了data属性,过程如下:

拒绝了使用url属性请求,转用jquery ajax请求数据,最后再tableIns.reload({ data: res.data })一波,达成666 *** 作。

这种做法从结果上看,似乎是可以的。。。。。。搭嘎,口头挖撸。

因为通过data属性赋值是不会分页去请求后端的,而是直接请求全部数据,然后layui内部进行前端分页处理,这样一来,如果数据量大的话,恐怕页面就要刷好一会儿了o(╥﹏╥)o。(只有通过data方式赋值才会进行前端分页处理,所以url方式可以放心食用)。

1

第一步在我们的电脑上打开软件,新建一个html,并添加上layui的js和css文件,如下图所示:

2

第二步我们打开新建的html文件,在<head>标签里面引入layui.css,layui.js文件,如下图所示:

3

第三步我们开始写body页面内容,这里给的表格内容是layui的表格示例数据,如下图所示:

4

第四步我们最后来给表格数据添加点击事件,table.on('tool(demoEvent)', function(obj){}来监听单元格事件,layer.prompt()d出框,使用 obj.update({ sign: value })进行更新表格和缓存,如下图所示:

5

第五步我们在浏览器中打开html页面,可以看到表格数据内容,如下图所示:

6

第六步我们点击表格数据内容,d出框显示单元格里面的数据,可以看到通过layui,给表格数据添加了点击事件,如下图所示:


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/7474276.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-06
下一篇2023-04-06

发表评论

登录后才能评论

评论列表(0条)

    保存