写点什么

小程序瀑布流重构

作者:admin
  • 2022 年 2 月 09 日
  • 本文字数:375 字

    阅读完需:约 1 分钟

背景:现有的左右两栏布局,会导致无障碍读屏的时候,一直读左边栏里的内容


实现方案


一、布局


当不使用左右两栏布局的时候,

主要是怎么确定当前元素应该放到左边还是右边



二、使用 relations


使用 relations 定义和使用父子组件,详见官方文档


父组件:waterfall

子组件:waterfall-item


这样就可以通过 this.parent 或者 this.child 直接访问对应组件内的属性和方法


比如在子组件内调用父组件的方法


二、性能


一般的做法是不停的获取到新一屏的数据就不断的 concat 进来,再去 setState



这样的话,到后期这个 list 会越来越大,由于 setData 的调用会把数据从逻辑层传到渲染层,数据太大会增加通信时间。在性能不好的机型上,setState 就会占用很长的时间,从而造成页面卡顿。

而我们通过改成二维数组,二维数组里的每一个子数组都用来装一屏的数据,然后每次只 setState 当前的下一屏幕的数据,就可以减少这个通信时间。

例如



用户头像

admin

关注

还未添加个人签名 2017.11.28 加入

还未添加个人简介

评论

发布
暂无评论
小程序瀑布流重构