inleft
2022-02-22 c23efbe2832d1a9eecd4ef5d20d984661b24dd22
src/components/group/articleListScorll.vue
@@ -1,8 +1,8 @@
<template>
   <div>
      <div v-infinite-scroll="loadMore" infinite-scroll-disabled="busy" :infinite-scroll-distance="10">
         <div v-for="temp in data">
            <newArticle v-bind="temp"></newArticle>
         <div v-for="(temp,index) in data">
            <newArticle v-bind="temp" :index="index"></newArticle>
            <!-- <box5 v-bind="temp"></box5> -->
         </div>
         <div v-if="loading && !busy" class="demo-loading-container">
@@ -63,6 +63,7 @@
      },
      data() {
         return {
            typeId: "",
            data: [],
            loading: false,
            busy: false,
@@ -72,9 +73,29 @@
            current: 1,
         };
      },
      watch: {
         '$route'(to, from) {
            if ("articleList" === to.name) {
               this.typeId = this.$route.query.typeId;
            }
         },
         typeId: function(newValue, oldValue) {
            this.busy = true;
            this.$message.info('loading',0.3);
            this.onChange(1);
         }
      },
      activated() {
         window.addEventListener('scroll', this);
      },
      deactivated() {
         window.removeEventListener('scroll', this);
      },
      beforeMount() {
         queryBlogArticleList({
            pageNo: this.current
            pageNo: this.current,
            typeId: this.typeId
         }).then((res) => {
            this.total = Number(res.data.total)
            this.pageSize = Number(res.data.size);
@@ -83,11 +104,11 @@
         })
      },
      methods: {
         onChange(current) {
            this.current = current;
            queryBlogArticleList({
               pageNo: this.current
               pageNo: current,
               typeId: this.typeId
            }).then((res) => {
               this.busy = false;
               this.total = Number(res.data.total)
@@ -99,9 +120,10 @@
         loadMore() {
            this.loading = true;
            this.busy = true;
            queryBlogArticleList({
               pageNo: this.current + 1
               pageNo: this.current + 1,
               typeId: this.typeId
            }).then((res) => {
               this.total = Number(res.data.total)
@@ -109,7 +131,7 @@
               this.data = this.data.concat(res.data.records);
               this.busy = false;
               if (res.data.records.length == 0) {
                  this.$message.warning('别滑了,别滑了,到底了..');
                  //this.$message.warning('别滑了,别滑了,到底了..');
                  this.busy = true;
                  this.loading = false;
                  return;