拼接html不显示,拼接html不显示layui进度条解决方法

本文介绍如何使用layui的flow.load功能实现异步加载HTML并动态渲染元素,包括两种解决方案:一是异步完成后调用element.init()初始化进度条,二是直接在拼接的HTML中插入预设的百分比。作者分享了这两种方法的代码示例和实际效果。
摘要由CSDN通过智能技术生成

最新有个新需求,要异步拼接html并渲染数据,并且我这边是用layui的flow.load(流加载)渲染多个进度条。按官网给出的 element.progress('demo', n+'%'); 就是回显不出来。

20200817113634708h76vrgt5thhe6rb_1.png

20200817113634708h76vrgt5thhe6rb_0.png

两种解决方法

一。html拼接完之后加上 element.init();

1.代码如下:

layui.use(['element', 'flow'], function () {

var element = layui.element,

flow = layui.flow

;

flow.load({

elem: tabId

, isAuto: true

, isLazyimg: true

, done: function (page, next) {

var initDataList = [];

//这里是调用后台接口返回数据代码

var itemHtml = "";

itemHtml += '

';

itemHtml += '

itemHtml += '

';

initDataList.push(html);

next(initDataList.join(''), page < 10);

element.init();

}

});

});

二。查看了下layui的进度条渲染原理,发现它只是在 calss 为 layui-progress-bar 的节点加上 width 属性而已,所以我们在拼接html时补上去就可以回显了,如果要显示文字的话就在那个节点把 xx% 这个节点拼接上去。(这里可以不用

添加 element.init(); 也可以回显)

20200817113634708h76vrgt5thhe6rb_2.png

1.代码如下

layui.use(['element', 'flow'], function () {

var element = layui.element,

flow = layui.flow

;

flow.load({

elem: tabId

, isAuto: true

, isLazyimg: true

, done: function (page, next) {

var initDataList = [];

//这里是调用后台接口返回数据代码

var itemHtml = "";

itemHtml += '

';

itemHtml += '

50%
';itemHtml += '
';initDataList.push(html);next(initDataList.join(''), page < 10);}

});

});

效果如图:

20200817113634708h76vrgt5thhe6rb_3.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值