解决安卓系统微信小程序滚动事件执行setData()严重卡顿问题

需求来源:小程序微信商品列表的左右联动

现在最流行的带分类商品列表,就是需要滚动到不同的商品的时候,自动聚焦到当前商品分类的分类按钮上,具体效果图如下:

(某团的外卖小程序...)

处理方法很简单,极其暴力, 就是把原有的商品列表,封装为小程序组件,然后把小程序组件放到scroll-view里面,很暴力有木有~! 示例代码:

原始写法:

<!--小程序页面PageA-->
<scroll-view>
    <view class="goods-list" wx:for="{{goodsList}}">
        <!--商品列表信息-->
    </view>
</scroll-view>
复制代码

这种写法,在商品数量少,标签少,setData()数据少的情况下,不会有明显的卡顿,一但超过50左右个商品的时候,就会卡得非常明显,无法实现实时联动,有时候甚至不动,得你重新触摸屏幕才有反应!

经过我多番研究,认为是scroll-view里面的标签太多,数据量大,导致渲染机制有问题,于是尝试用组件形式来存放列表,这样就相当于scroll-view下只有一个标签,组件就是另外一个渲染层了,跟小程序页面PageA的渲染层不一样。(这是我的猜想,有大佬看到跪求指点一下实际原理~感激不尽!)

暴力无脑解决办法:

搞一个组件goods-list

<!--小程序组件goods-list-->
<view class="goods-list" wx:for="{{goodsList}}">
        <!--商品列表信息-->
</view>
复制代码

原来的页面

<!--小程序页面PageA-->
<scroll-view>
   <goods-list goodsList={{goodsList}}></goods-list>
</scroll-view>
复制代码

就酱解决了~

有同学问:弟弟你这没有小程序组件使用方法,我还是搞不定啊。

在此我要点名批评这位同学了~!那你还不赶紧打开这个页面去瞅瞅!developers.weixin.qq.com/miniprogram… (我是条连接,点我带你飞)

具体如何实现滚动带动分类按钮,很多文章都有,查一下关键字:小程序微信商品列表的左右联动。有很多优质的文章,小弟就不再嫌丑了。

最后,希望这个有点sao的操作,能帮到正在为这个需求烦恼的人儿~ 为认真看博客解决问题的人儿点赞~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值