| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- <script>
- // 引入 MescrollMixin
- import MescrollMixin from 'uni-mixins-mescroll'
- export default {
- mixins: [MescrollMixin],
- data() {
- return {
- // 数据列表
- dataList: [],
- // 是否正在加载
- isLoading: false,
- // 是否没有更多数据
- noMoreData: false
- }
- },
- methods: {
- // 下拉刷新回调
- downCallback() {
- // 重新加载数据
- this.loadData(true)
- },
- // 上拉加载更多回调
- upCallback() {
- // 加载更多数据
- this.loadData(false)
- },
- // 加载数据的方法
- loadData(isRefresh) {
- // 设置为正在加载
- this.isLoading = true
- // 模拟异步加载数据
- setTimeout(() => {
- // 假设我们从某个API获取了数据
- const newData = [
- /* 新数据 */
- ]
- // 如果是刷新,则替换数据,否则追加数据
- if (isRefresh) {
- this.dataList = newData
- } else {
- this.dataList = this.dataList.concat(newData)
- }
- // 设置是否还有更多数据
- this.noMoreData = newData.length < 10 // 假设一次请求不足10条则认为没有更多数据
- // 设置为不是正在加载
- this.isLoading = false
- // 结束上拉加载或下拉刷新
- this.mescroll.endSuccess()
- }, 1000)
- }
- }
- }
- </script>
|