【微信技术-微信小程序】------- 渐进式骨架屏(加载流)(第二篇)

提示:看如下内容需要了解第一篇:简单入门(骨架屏(加载流) 简单入门(第一篇)


下载示例代码地址: 渐进式骨架屏示例代码-下载

一、什么是渐进式骨架屏?

在界面内容加载过程中,获取服务器数据的速度不一致,区块内容对应的接口显示真实内容的进度也不一致,就需要渐进式。

二、实现渐进式骨架屏

接下来就已pages/index/index文件作为示例

1.index.wxml文件配置区块域

//使用 data-skeleton-hide 和 hidden 标识区块域
作用: data-skeleton-hide 属性的节点生成骨架屏时会被替换成 hidden 属性
hidden:是隐藏该元素

示例图:
在这里插入图片描述
提示:需要注意的是,为了使真实数据的位置与骨架屏一致,此时应使用 absolute 方式定位页面主模块 (否则很容易导致生成的骨架屏效果不佳出现问题) 看如下图:
在这里插入图片描述

2.生成骨架屏代码

可以阅读另一篇文章查看如何生成骨架屏代码和配置:骨架屏(加载流) 简单入门(第一篇)

骨架屏代码文件如下:
在这里插入图片描述

3.在骨架屏代码中传入参数

data="{{topBanner,topNav,middleContent}}" //主要作用逐个隐藏骨架屏区块

index.wxml文件如下:
在这里插入图片描述

index.skeleton.wxml骨架屏文件如下:
在这里插入图片描述
4.index.js文件属性配置

 data: {
    background: ['demo-text-1', 'demo-text-2', 'demo-text-3'],
    navs: new Array(5).fill(logo),
    loading: true,//开启骨架屏
    hidden:true,//是否展示内容
    topBanner:false,//头部内容
    topNav:false,//标题内容
    middleContent:false,//主体内容
    list
  }

在这里插入图片描述

5.最后实现渐变式骨架屏
提示:通过定时器制作渐进式加载

 onLoad() {
    //头部加载
    setTimeout(() => {
      this.setData({topBanner: true})
    }, 500)
    //标题加载
    setTimeout(() => {
      this.setData({topNav: true})
    }, 1000)

    //主体内容加载
    setTimeout(() => {
      this.setData({
        loading: false,
        middleContent: true
      })
    }, 2000)
  },

在这里插入图片描述

三、效果展示

请添加图片描述

下载示例代码地址: 渐进式骨架屏示例代码-下载

常见问题:
1.骨架屏仅包括页面首屏中的可见区域,对于横向滚动的 swiper 等容器,超出屏幕的子元素将被忽略;
2.骨架屏的布局复用开发者的页面布局,需要骨架屏自适应页面尺寸时,页面布局应采用 rpx 等自适应方案;
3.部分组件如 movable-view、movable-area、rich-text、editor、picker、picker-view、picker-view-column、ad、officail-account和open-data 无法生成理想的骨架效果,可通过添加一个父容器,结合 grayBlock、empty 等配置,将其置灰。
4.请勿修改自动生成的骨架屏的代码,当效果不理想时,建议调整相关配置,这样当页面变更时,仍可自动生成;
5.生成的骨架屏代码中会包含预览时的页面数据,将被用来填充页面;
6.骨架屏通常用于商品列表、新闻列表等页面,对于动画/原生组件较多的页面展示效果不佳;
7.该能力除用于展示首屏骨架外,也可作为局部加载的 loading 样式,可灵活使用;

推荐其他文章:
【微信技术-微信小程序】------- 骨架屏(加载流) 简单入门(第一篇)
【微信技术-微信小程序】------- 使用Vant-Weapp组件简单入门
【微信技术-微信小程序】------- 使用ColorUI组件简单入门

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

皮皮冰要做大神

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值