vue-infinite-scroll 和el-radio-group 配合使用的坑

1.安装

npm i vue-infinite-scroll --save

2.main.js中引入


import infiniteScroll from 'vue-infinite-scroll'

Vue.use(infiniteScroll)

3.在.vue文件中使用

 <el-radio-group v-model="radioValue" @change="switchRadio">
            <el-radio-button label="0">汇总</el-radio-button>
            <el-radio-button label="1">接收</el-radio-button>
            <el-radio-button label="2">拒绝</el-radio-button>
   </el-radio-group>
 <ul
          ref="infinite"
          v-infinite-scroll="load"
          infinite-scroll-disabled="busy"
          infinite-scroll-distance="10"
         >
     <li v-for="(item,index) in dataList" :key="index"></li>
  </ul>
export default {
  data() {
    return {
      busy: true,//true 禁用
      pageindex: 1,
      pagesize: 10,
    }
}
load() {    
      this.busy = true;   
      this.pageindex++   
      stockreceiveApi
        .stock2list2(
          [],
          "ls",
          this.searchKey,
          this.dateRange[0],
          this.dateRange[1],
          this.standby_flag,
          this.acc_flag,
          this.pageindex,
          this.pagesize
        )
        .then(res => {
          if (res.flag) {
            this.firstRender = true;
            this.dataList = this.dataList.concat(res.data.rows);  
            if (this.pageindex >= Math.ceil(res.data.totalCount/10)){
              this.infiniteMsgShow = false // 切换底部提示信息
              this.busy = true;
              return false;
            }    
          }
        });
        this.busy = false;
    },
switchRadio(value) {
//tab切换的时候高度可能会停留在上一次滚动的位置,做以下处理
     this.$nextTick(() => {
         this.$refs.infinite.scrollTop=0
       })
}

过程中有几个坑
1.tab切换的时候高度可能会停留在上一次滚动的位置
2.busy的true和false的处理

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容