没有把数组值全部替换,是不断将数据追加push进数组。
基础库版本:2.10.3
const updateList = `tabs[${activeTab}].list[${page}]`
const updatePage = `tabs[${activeTab}].page`
this.setData({
[updateList]: res,
[updatePage]: page + 1
})
<!-- 这是自定义组件的内部WXML结构 -->
<scroll-view class="tab-content" enable-back-to-top="{{true}}" scroll-y="{{true}}" scroll-anchoring="{{true}}" lower-threshold="100" bindscrolltolower="updateGameList">
<view class="game-card-wrap" wx:for="{{gameListWrap}}" wx:for-item="gameList" wx:for-index="gameListIdx" wx:key="gameListIdx">
<view class="game-card" hover-class="hover-class" hover-start-time="100" wx:for="{{gameList}}" wx:for-item="game" wx:for-index="gameIdx" wx:key="gid">
</view>
</view>
</scroll-view>
请问解决了吗?
我也遇到同样的问题了 楼主 不知道你有没有解决,麻烦指点下,我这边只在ios 上会复现
渲染数组时,我也是采用二维数组,每次setData都只更新本次请求得到的数据。比每次都更新整个数组要高效,所以二维数组是可取的。
tabs: {
list: [],
page: 0
}
没遇到过 我也是 push写的,没有返回顶部。
给你写了个代码片段:
https://developers.weixin.qq.com/s/cqXWHVmL7RfJ
比如:
js:
list: [a,b,c]
addmore() {
const { list } = this.data
//调用接口请求到的第二页数据,假如返回的数组叫results
results.map((item) => {
list.push(item)
})
this.setData({
list
})
}
所以推荐你使用长列表组件。
https://developers.weixin.qq.com/miniprogram/dev/extended/component-plus/recycle-view.html
https://developers.weixin.qq.com/community/develop/doc/0008c46e0a04586d86e7dbd2e5bc00?_at=1584495477343
这里有个去年的相关问题,不过没人解决。。。
但是你今天发的新帖,这个我理解的应该是尾部追加的数据,尾部追加的话应该是直接尾部显示数据不会回到顶部。