评论

小肥羊社区帖子精华整理

swiper滑动卡顿

前几天有偿征集了两个方案,现在把代码公布下,这个问题非常考验思维逻辑能力


问题描述

目前有一个数组,长度为1000,如何把这么大的数据量,渲染到swiper中,保证swiper左右滑动时,丝滑般流畅

使用场景

一般会用于在线答题小程序答题过程中,有时候题库大,顺序答题会存在这个问题,所以说需求来自真实项目场景。

1、

https://developers.weixin.qq.com/s/3dsCzam176gk

2、

https://developers.weixin.qq.com/s/DUzMc6mw73g6


第二个问题:解决wx.previewImage不能对应显示(总显示第一张)




wx.preview索引问题


https://developers.weixin.qq.com/community/develop/article/doc/000004d972c3a8b33369dda8d51813


https://developers.weixin.qq.com/s/kSKrV5mZ7Egq


非常感谢参与的同学



1

第三个问题:使用tcb-router管理路由

https://developers.weixin.qq.com/community/develop/article/doc/00000a8eaec7e86b9f48cfeb051c13

2

第四个问题:weui内置扩展库使用步骤

https://developers.weixin.qq.com/s/1GPX7jmG78dz

https://developers.weixin.qq.com/community/develop/article/doc/000224381788e8e5bb89426f55e413

3

第五个问题:算法生成云开发集合_id

https://developers.weixin.qq.com/community/minihome/doc/000a0e0be54568e8ac0aab28256800

第六个问题

关于 swiper 中 数据过多时 滑动卡顿掉帧的解决办法? - 微信开放社区 https://developers.weixin.qq.com/community/develop/article/doc/000e665d0bcc78861d8a7dcef5b413

4

最后一次编辑于  2020-07-09  
点赞 3
收藏
评论

12 个评论

  • 马尚尚
    马尚尚
    2023-05-24


    1、微信小程序如何拦截原生返回事件

    https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.enableAlertBeforeUnload.html 


    2023-05-24
    赞同
    回复
  • 小肥羊🍊
    小肥羊🍊
    2020-11-04
    swiper吧
    

    https://developers.weixin.qq.com/s/3M2GFCmh74lk



    2020-11-04
    赞同
    回复
  • 小肥羊🍊
    小肥羊🍊
    2020-11-02

    如何点击 image 进入客服会话?


    先附上效果图:



    由于微信小程序 Api 中注明只有 button 才具有一些开放功能,而单独的 image 则无法实现点击跳转客服消息会话功能。前端个人感觉就是一个个元素通过不同的属性样式包罗万象,那么我能不能通过 button 包裹 image 间接实现这个效果呢?一起来看~


    <view class="model">
      <button open-type="contact">
        <image mode="aspectFit" src="/images/img_07.png" />
      </button>
      <!-- ... -->
    </view>
    复制代码
    


    样式文件如下:


    .model {
      display: flex;
      justify-content: space-between;
      margin-top: 30rpx;
    }
    
    .model button {
      height: 180rpx;
      width: 49%;
      background-color: transparent !important;
      margin: 0;
      padding: 0 !important;
    }
    
    .model button::after {
      border: 0px solid rgba(0, 0, 0, 0.2) !important;
    }
    
    .content .model button image {
      width: 100%;
    }
    



    2020-11-02
    赞同
    回复
  • 小肥羊🍊
    小肥羊🍊
    2020-07-09

    做小程序的时候 使用到了 swiper, 大概15个 <swiper-item> 每个<swiper-item>中是一个展示列表大概100条数据.

    发现滑动的时候非常的卡顿掉帧, 苹果手机稍微好点但是也掉帧.

    我的解决方式是:

    定义2个数组

    第一个数组存放所有数据 allList

    第二个数组 存放 15个空数组 用于 <swiper-item>循环 list: [[],[],[],[]...]

    然后获取当前页 下一页: 当前页+1, 上一页:当前页-1

    如果当前页的索引为 0 (说明是第一页) 则上一页为最后一页 = list.length -1

    如果当前页的索引为 list.length-1 (说明是最后一页) 则下一页为第一页 = 0

    这样判断, 就可以拿到了 上一页 当前页 下一页的索引

    然后每次切换页面 动态改变list

    {

    list [上一页索引] = allList [上一页索引]

    list [当前页索引] = allList [当前页索引]

    list [下一页索引] = allList [下一页索引]

    可选: 可以选择清空之前的数据 例如 清空上上页的数据 这样就可以一直维持 只有3个数组中有数据 swiper就不会卡顿了, 也可以保留达到缓存的效果

    }


    这样就每次渲染其实只有3个数组中有数据 别的 <swiper-item>为空 就会流畅很多

    2020-07-09
    赞同
    回复
  • 小肥羊🍊
    小肥羊🍊
    2020-06-05

    input组件实现类似微信朋友圈评论,跟随键盘从下面弹出,是需要第三方组件库吗?? - 微信开放社区 https://developers.weixin.qq.com/community/develop/doc/0000ceba00c4e8bc497a86f855b000

    2020-06-05
    赞同
    回复
  • 小肥羊🍊
    小肥羊🍊
    2020-06-05

    通过 wx.onKeyboardHeightChange 来监听键盘的高度

    input标签根据键盘高度来判断放在什么位置


    https://developers.weixin.qq.com/miniprogram/dev/api/ui/keyboard/wx.onKeyboardHeightChange.html


    2020-06-05
    赞同
    回复
  • 小肥羊🍊
    小肥羊🍊
    2020-06-05

    云函数返回null?你可能缺了这个关键字!? - 微信开放社区 https://developers.weixin.qq.com/community/develop/article/doc/0006cc3d508410ff3c7af3c3d56413

    2020-06-05
    赞同
    回复
  • 小肥羊🍊
    小肥羊🍊
    2020-06-05

    最近开发一个新的小程序,其中有个功能是获取openId,使用云函数只需要一行代码既可以实现:

    exports.main = e => e.userInfo.openId
    


    于是将老项目中的代码复制过来使用,美滋滋。

    结果发现控制台返回结果为null???

    不科学啊,老项目明明可以正确返回结果,代码一模一样,见鬼了吗?

    经过百般调试,最后发现,果然见鬼了,两个云环境的Node.js版本不一样!!!

    老项目的node为8.9版本,新项目为10.15。。。

    后来查了文档发现,不同版本的node返回支持不同:

    exports.main = async e => e.userInfo.openId
    


    在函数前加个async就可以了,依然是一行代码。

    希望各位能尽快绕过这个坑,官方也重点说明一下,浪费了我挺多时间的。



    2020-06-05
    赞同
    回复
  • 小肥羊🍊
    小肥羊🍊
    2020-05-14
    1. 更新最新的 nightly 版开发者工具
    2. 在app.json里新增
    3. “useExtendedLib”: {
    4. “weui”: true
    5. }
    6. 在使用的页面json文件应用组件,比如在index.json里
    7. {
    8. “navigationStyle”:“custom”,
    9. “usingComponents”: {
    10. “mp-navigation-bar”:"/weui-miniprogram/navigation-bar/navigation-bar"
    11. }
    12. }
    13. wxml文件使用组件,比如在index.wxml里
    14. <mp-navigation-bar title=“首页”></mp-navigation-bar>
    15. 验证有无生效。
    16. 示例代码片段:https://developers.weixin.qq.com/s/1GPX7jmG78dz

    备注:

    文档里说目前暂不支持在分包中引用,但据代码测试,分包也能使用。



    2020-05-14
    赞同
    回复
  • 小肥羊🍊
    小肥羊🍊
    2020-05-11

    这份代码可以忽略,是另一个方案,但是目前尚不完善

    https://developers.weixin.qq.com/s/l99qI8mv7Rgy

    2020-05-11
    赞同
    回复

正在加载...

登录 后发表内容