小程序
小游戏
企业微信
微信支付
扫描小程序码分享
像电话本一样,点击 {索引} 定位到 {条目} scroll-view 的 scroll-into-view 能实现,反之滚动到显示 {条目} 对应的 {索引} 变亮,小伙伴们是怎么做的?
1 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
不好意思已经找到了办法。通过IntersectionObserver wx.createIntersectionObserver(Object this, Object options)轻松解决
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
事情没有这么简单:
调用 IntersectionObserver.relativeTo().observe() 仅仅监视当前页面已经存在的组件。对于后边分页加载上来的项不理睬。
因此只能重新生成 IntersectionObserver 重新调用 IntersectionObserver.relativeTo().observe()。
问题又来了,分页加载来的数据从 setData 到页面生成view有个时间。如果在调用 setData 后直接 IntersectionObserver.relativeTo().observe(),因为刚绑定的数据还没有生成view,调了也是白调。
接着用 setTimeout 推迟1秒再调用 IntersectionObserver.relativeTo().observe() 发现这样根本无效。
蛋疼啊蛋疼
问题解决了,setData 方法原来还有个参数,太棒了,第二个参数在渲染完界面后调用
怎么消除呢 用了disconnect,并没有消除
能消除的,您再查一下自己的代码
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
不好意思已经找到了办法。通过IntersectionObserver wx.createIntersectionObserver(Object this, Object options)轻松解决
事情没有这么简单:
调用 IntersectionObserver.relativeTo().observe() 仅仅监视当前页面已经存在的组件。对于后边分页加载上来的项不理睬。
因此只能重新生成 IntersectionObserver 重新调用 IntersectionObserver.relativeTo().observe()。
问题又来了,分页加载来的数据从 setData 到页面生成view有个时间。如果在调用 setData 后直接 IntersectionObserver.relativeTo().observe(),因为刚绑定的数据还没有生成view,调了也是白调。
接着用 setTimeout 推迟1秒再调用 IntersectionObserver.relativeTo().observe() 发现这样根本无效。
蛋疼啊蛋疼
问题解决了,setData 方法原来还有个参数,太棒了,第二个参数在渲染完界面后调用
怎么消除呢 用了disconnect,并没有消除
能消除的,您再查一下自己的代码