html部分:
// 列表组件 <dataList ref="course" :courseList="courseList" /> // 分页加载更多组件(该组件要去插件市场安装) <uni-load-more v-if="courseList.length > 5" :contentText="contentText" :status="status" />
js部分:
<script>
// 引入列表组件(自己手写)
import dataList from './components/dataList'
export default {
components: {
dataList
},
data() {
status: 'more',
contentText: {
contentdown: "加载更多",
contentrefresh: "正在加载...",
contentnomore: "已经到底了哟QAQ~"
},
courseList: [],
total: 0,
pagination: {
current: 1,
size: 5
},
},
onShow() {
this.getData()
},
onReachBottom() {
const { total } = this;
const { current, size } = this.pagination;
if (total > (current * size)) {
this.status = 'loading';
this.pagination.current++;
this.getData(true);
} else {
this.status = 'noMore';
}
},
methods: {
async getData(more) {
let res = await uni.service.home.getCourseList(this.pagination)
if (res.code === 200) {
if (more) {
this.courseList = this.courseList.concat(res.data.records);
} else {
this.courseList = res.data.records
}
this.total = res.data.total;
this.status = 'more';
}
}
}
}
</script>