手动-更多加载

 

 初始化字段

created(){
   return{
      pages: 0, // 共几页 
      title: "",
      pageNumPrise: 1, // 企业-页数
      pageSizePrise: 10, // 企业-条数
      inputPrise: "",
      fuzzyShowPrise: false,
      fuzzyListPrise: [], // 企业-模糊查询后的数据 
   }  
}             

 第一步:输入框给input事件

<el-input
    v-model="inputPrise"
    placeholder="请输入企业全称/简称/关键字"
    class="input"
    @input="inputPriseDown">
</el-input>

methods:{
  // 输入企业
    inputPriseDown(val) {
      if (val) {
        this.fuzzyShowPrise = true;
        this.getPriseFuzzyList();
      } else {
        this.fuzzyShowPrise = false;
        this.fuzzyListPrise = [];
        this.pageNumPrise = 1;
      }
    },
}

第二步:模糊查询(输入框下面的框)

<!-- 模糊查询-企业 -->
<div class="fuzzy_query" v-show="fuzzyShowPrise">
   <div
      v-for="(item, index) in fuzzyListPrise"
      :key="index"
      class="fuzzy_list"
      @click="clickFuzzyPrise(item)"
   >{{ item.enterpriseName }}
   </div>
</div>

第三步:滚动加载条数

mounted() {
    window.addEventListener("scroll", this.scroll, true);
  },

methods:{
    scroll(event) {
          let scrollTop = event.target.scrollTop;
          let windowHeight = event.target.clientHeight;
          let scrollHeight = event.target.scrollHeight;
          if (scrollTop + windowHeight == scrollHeight) {
              this.pageNumPrise = this.pageNumPrise + 1;
              if (this.pageNumPrise <= this.pages) {
                this.getPriseFuzzyList();  // 调取 企业名称的接口
              }
          }
    },
    // 企业-模糊查询-获取数据
    getPriseFuzzyList() {
      let params = {
        entName: this.inputPrise,
        pageNum: this.pageNumPrise,
        pageSize: this.pageSizePrise,
      };
      getPriseNameList(params).then((res) => {
        this.pages = res.data.pages;
        if (this.pageNumPrise <= 1) {
          this.fuzzyListPrise = res.data.list;
        } else if (this.pageNumPrise > 1) {
          this.fuzzyListPrise =  this.fuzzyListPrise.concat(res.data.list);
        }
      });
    }  
}                            

第四步:点击模糊查询的数据

methods:{
  // 企业-点击-模糊数据
    clickFuzzyPrise(item) {
      this.inputPrise = item.enterpriseName;this.fuzzyShowPrise = false;
    },
}

 

posted @ 2022-02-24 10:36  挽你手  阅读(31)  评论(0编辑  收藏  举报