当前位置:   article > 正文

vue3实现h5触底翻页加载_auto complete标签触底翻页vue3

auto complete标签触底翻页vue3

在滚动元素上添加滚动事件

  1. <div class="card-list" @scroll="pageScroll">
  2. <!-- 滚动内容 -->
  3. <div class="card" v-for="item in dataList">
  4. <!-- 内容 -->
  5. </div>
  6. </div>

滚动方法

  1. const dataList = ref([]);
  2. let page = 1; // 分页页数
  3. let limit = 10; // 分页条数
  4. let total = 0; // 总数
  5. let isLoading = false; //是否加载中
  6. // 滚动方法
  7. const pageScroll = (e) => {
  8. // 滚动条滚动时,距离顶部的距离
  9. const scrollTop = e.target.scrollTop;
  10. // 可视区的高度
  11. const windowHeight = e.target.clientHeight;
  12. // 滚动条的总高度
  13. const scrollHeight = e.target.scrollHeight;
  14. // 当滚动条滚动到底部 并且 当前数据小于总数时进行翻页
  15. if (scrollTop + windowHeight == scrollHeight && dataList.value.length < total) {
  16. page++;
  17. // 获取下一页的数据
  18. getDataList();
  19. }
  20. }
  21. // 获取数据
  22. const getDataList = async () => {
  23. try {
  24. // 加载中...
  25. isLoading = true;
  26. const {data, paging} = await getRecordDateList(limit, (page - 1) * limit);
  27. dataList.value = dataList.value.concat(data);
  28. total = paging.total;
  29. // 取消加载中
  30. isLoading = false;
  31. } catch (error) {
  32. console.log(error);
  33. isLoading = false;
  34. }
  35. };

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/698627
推荐阅读
相关标签
  

闽ICP备14008679号