1. 创建一个自定义组件目录,例如 components。
2. 在 components 目录下创建一个长列表组件的文件,例如 long-list。
- components/long-list/long-list.wxml:
<scroll-view
class="long-list"
scroll-y="{{true}}"
bindscrolltoupper="scrollToUpper"
bindscrolltolower="scrollToLower"
>
<block wx:for="{{listData}}" wx:key="index">
<view class="list-item">{{item}}</view>
</block>
</scroll-view>
- components/long-list/long-list.js:
const initData = Array.from({ length: 1000 }, (_, i) => `Item ${i}`);
Component({
data: {
listData: initData,
},
methods: {
scrollToUpper: function (e) {
// 滚动到顶部时的逻辑
},
scrollToLower: function (e) {
// 滚动到底部时的逻辑,例如加载更多数据
const newData = Array.from({ length: 1000 }, (_, i) => `Item ${i + initData.length}`);
this.setData({
listData: [...this.data.listData, ...newData],
});
},
},
});
- components/long-list/long-list.wxss:
.long-list {
height: 100vh;
}
.list-item {
height: 50px;
line-height: 50px;
text-align: center;
border-bottom: 1px solid #eee;
}
3. 在需要使用长列表组件的页面中引入该组件。
<long-list></long-list>
这是一个简单的长列表组件的示例。在实际开发中,你可能需要根据项目需求实现更多的优化手段,例如虚拟列表、缓存机制等。为了更好地处理大量数据,你也可以考虑使用一些开源的小程序 UI 组件库,这些库通常包含了更多的优化策略。在实际开发中,请根据具体情况选择适合的优化方式。
转载请注明出处:http://www.zyzy.cn/article/detail/1345/微信小程序