当前位置:   article > 正文

使用Vant框架的组件van-pull-refresh搭配van-list和van-card完成上滑加载更多列表数据,下拉刷新当前列表数据(等同于翻页功能)_vant pullrefresh 和 vanlist

vant pullrefresh 和 vanlist
  1. <template>
  2. <div class="sg-page-body">
  3. <div class="sg-list">
  4. <van-pull-refresh v-model="pullLoading" @refresh="onPullRefresh" success-text="刷新成功">
  5. <van-list v-model="listLoading" @load="onLoadList" :finished="finishedList" finished-text="没有更多了">
  6. <van-card v-for="(item,$index) in list" :key="$index">{{item.label}}</van-card>
  7. </van-list>
  8. </van-pull-refresh>
  9. </div>
  10. </div>
  11. </template>
  12. <script>
  13. export default {
  14. data() {
  15. return {
  16. list: [], //列表数组
  17. listLoading: false, //上滑列表加载(每一次上滑的时候)
  18. finishedList: false, //上滑列表加载完了所有数据(没有更多了)
  19. pullLoading: false, //下拉刷新加载动画
  20. start: 0, //从第1页开始
  21. limit: 10, //每页10条数据累加
  22. qylx: ""
  23. };
  24. },
  25. methods: {
  26. //下拉刷新列表■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  27. onPullRefresh() {
  28. this.list = [];
  29. this.start = 0;
  30. this.finishedList = false;
  31. this.onLoadList();
  32. },
  33. //上滑加载列表________________________
  34. onLoadList() {
  35. // 异步更新数据
  36. if (this.finishedList) return;
  37. var data = {
  38. start: this.start,
  39. limit: this.limit,
  40. qylx: this.qylx
  41. };
  42. this.$d.API_NAME(data, {
  43. success: d => {
  44. /*这里写代码*/
  45. this.list = this.list.concat(d);
  46. this.pullLoading = this.listLoading = false; // 加载和下拉状态结束
  47. this.finishedList = d.length === 0; //上滑列表加载完了所有数据(没有更多了)
  48. }
  49. });
  50. this.start++;
  51. }
  52. // ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  53. }
  54. };
  55. </script>

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签