美文网首页让前端飞Web前端之路
vue-infinite-scroll 和el-radio-gr

vue-infinite-scroll 和el-radio-gr

作者: 木子兮儿 | 来源:发表于2020-03-31 17:29 被阅读0次

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的处理

相关文章

网友评论

    本文标题:vue-infinite-scroll 和el-radio-gr

    本文链接:https://www.haomeiwen.com/subject/jicguhtx.html