<template> <view class="content"> <view class="container"> <view class="my-header"> <view class="my-icons" @click="goback"> <uni-icons type="left" size="16"></uni-icons> </view> <view class="my-text">样版页</view> <view class="my-icons"></view> </view> </view> </view> </template> <script> import request from '../../utils/request'; export default { data() { return { title: '', List: [], pageNo: 1, pageSize: 10, totalPage: '', } }, onLoad() { this.resetting() //重置方法 this.getList() //调用请求 }, onPullDownRefresh() { //下拉刷新 this.resetting() //重置方法 this.getList() //调用请求 uni.stopPullDownRefresh() }, onReachBottom() { // 触底加载 if (this.pageNo >= this.totalPage) { uni.showToast({ title: '没有下一页数据', icon: 'none' }) } else { this.pageNo++ this.getList() } }, components: { }, methods: { //滞空方法 resetting() { this.pageNo = 1 this.pageSize = 10 this.totalPage = '' this.List = [] }, // 分页——网络请求 async getList() { uni.showLoading({ title: '加载中' }); let res = await request({ url: '网络请求', method: 'get', data: { pageNo: this.pageNo, pageSize: this.pageSize, } }) if (res.code == 200) { uni.hideLoading(); //交互反馈 if (this.pageNo != 1) { this.List = this.ruleList.concat(res.result.records) } else { this.List = res.result.records } this.totalPage = res.result.pages } }, goback() { uni.navigateBack() } } } </script> <style scoped lang="scss"> .content { background: #f4f5f6; } .container { width: 100%; height: 100vh; box-sizing: border-box; padding-top: 88px; } .my-header { width: 100%; height: 88px; background: #ffffff; display: flex; align-items: center; justify-content: space-between; color: #000; box-sizing: border-box; padding: 0px 15px; padding-top: 40px; z-index: 99999; .my-icons { width: 20px; } position: fixed; top: 0px; } </style>