前几天有偿征集了两个方案,现在把代码公布下,这个问题非常考验思维逻辑能力
问题描述
目前有一个数组,长度为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
1、微信小程序如何拦截原生返回事件
https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.enableAlertBeforeUnload.html
https://developers.weixin.qq.com/s/3M2GFCmh74lk
如何点击 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%; }
做小程序的时候 使用到了 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>为空 就会流畅很多
input组件实现类似微信朋友圈评论,跟随键盘从下面弹出,是需要第三方组件库吗?? - 微信开放社区 https://developers.weixin.qq.com/community/develop/doc/0000ceba00c4e8bc497a86f855b000
通过 wx.onKeyboardHeightChange 来监听键盘的高度
input标签根据键盘高度来判断放在什么位置
https://developers.weixin.qq.com/miniprogram/dev/api/ui/keyboard/wx.onKeyboardHeightChange.html
云函数返回null?你可能缺了这个关键字!? - 微信开放社区 https://developers.weixin.qq.com/community/develop/article/doc/0006cc3d508410ff3c7af3c3d56413
最近开发一个新的小程序,其中有个功能是获取openId,使用云函数只需要一行代码既可以实现:
于是将老项目中的代码复制过来使用,美滋滋。
结果发现控制台返回结果为null???
不科学啊,老项目明明可以正确返回结果,代码一模一样,见鬼了吗?
经过百般调试,最后发现,果然见鬼了,两个云环境的Node.js版本不一样!!!
老项目的node为8.9版本,新项目为10.15。。。
后来查了文档发现,不同版本的node返回支持不同:
在函数前加个async就可以了,依然是一行代码。
希望各位能尽快绕过这个坑,官方也重点说明一下,浪费了我挺多时间的。
备注:
文档里说目前暂不支持在分包中引用,但据代码测试,分包也能使用。
这份代码可以忽略,是另一个方案,但是目前尚不完善
https://developers.weixin.qq.com/s/l99qI8mv7Rgy