当前位置:   article > 正文

el-table实现滚动懒加载_el-table 滚动懒加载

el-table 滚动懒加载
安装 :
npm install --save el-table-infinite-scroll@2

安装时注意安装版本 V2,V3

注册

全局注册 :

  1. import Vue from "vue";
  2. import ElTableInfiniteScroll from "el-table-infinite-scroll";
  3. Vue.directive("el-table-infinite-scroll", ElTableInfiniteScroll);

局部注册

  1. <script>
  2. import ElTableInfiniteScroll from "el-table-infinite-scroll";
  3. export default {
  4. directives: {
  5. "el-table-infinite-scroll": ElTableInfiniteScroll,
  6. },
  7. };
  8. </script>

使用:

  • v-el-table-infinite-scroll 传入加载的函数
  • infinite-scroll-distance 可自定义底部距离多少触发加载
  • infinite-scroll-disabled 控制何时禁用
    1. <template>
    2. <el-table
    3. v-el-table-infinite-scroll="load"
    4. :data="data"
    5. :infinite-scroll-disabled="disabled"
    6. height="200px"
    7. >
    8. <el-table-column type="index" />
    9. <el-table-column prop="date" label="date" />
    10. <el-table-column prop="name" label="name" />
    11. <el-table-column prop="age" label="age" />
    12. </el-table>
    13. </template>
    14. <script>
    15. const dataTemplate = new Array(10).fill({
    16. date: "2009-01-01",
    17. name: "Tom",
    18. age: "30",
    19. });
    20. export default {
    21. data() {
    22. return {
    23. data: [],
    24. page: 0,
    25. total: 5,
    26. };
    27. },
    28. methods: {
    29. load() {
    30. if (this.disabled) return;
    31. this.page++;
    32. if (this.page <= this.total) {
    33. this.data = this.data.concat(dataTemplate);
    34. }
    35. if (this.page === this.total) {
    36. this.disabled = true;
    37. }
    38. },
    39. },
    40. };
    41. </script>

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

闽ICP备14008679号