uniapp写一个分页器能实现列表分页
时间: 2023-07-18 14:46:34 浏览: 89
Unity3D实现列表分页效果
当然可以!Uniapp提供了很多组件和API来实现列表分页,下面是一个简单的示例:
1. 在页面中引入uni-list组件和uni-load-more组件
```html
<template>
<view>
<uni-list>
<uni-load-more :show="showLoadMore" :loading="loading" :finished="finished" @loadmore="loadMore">
<view v-for="(item, index) in dataList" :key="index">
// 列表项渲染
</view>
</uni-load-more>
</uni-list>
</view>
</template>
```
2. 在data中定义相关变量和方法
```js
<script>
export default {
data() {
return {
dataList: [], // 列表数据
pageIndex: 1, // 当前页码
pageSize: 10, // 每页显示条数
loading: false, // 是否在加载中
finished: false, // 是否已加载完全部数据
showLoadMore: false // 是否显示加载更多组件
}
},
mounted() {
this.loadData() // 页面加载时加载第一页数据
},
methods: {
async loadData() {
// 发起请求,获取数据
const res = await uni.request({
url: 'xxxxxx',
data: {
pageIndex: this.pageIndex,
pageSize: this.pageSize
}
})
// 处理数据
if (res.data && res.data.length) {
this.dataList = this.dataList.concat(res.data)
this.pageIndex++
this.showLoadMore = true // 显示加载更多组件
} else {
this.finished = true // 已经加载完全部数据
}
this.loading = false // 加载完成
},
loadMore() {
if (this.loading || this.finished) return
this.loading = true
this.loadData()
}
}
}
</script>
```
这样就可以实现一个简单的列表分页器了。当滚动到列表底部时,会自动触发加载更多事件,调用loadData方法加载下一页数据。当已经加载完全部数据时,会显示“已经到底了”的提示。
阅读全文