国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

el-select數據過多懶加載的解決(loadmore)

2024-05-06 15:38:45
字體:
來源:轉載
供稿:網友

el-select數據過多處理方式

在日常項目中el-select組件的使用頻率是非常之高的. 當數據過多時渲染時間非常長, 這里提供幾個處理方式.

遠程搜索

組件提供了遠程搜索方式, 也就是按照你輸入的結果匹配選項.

下拉懶加載loadMore

下拉懶加載, 當select滾動到底部時, 你再去請求一部分數據, 加入到當前數據中.

某組件中:

<template>  <el-select    v-model="value"    placeholder="請選擇"    filterable    multiple    v-el-select-loadmore="loadmore"  >    <el-option      v-for="item in options"      :key="item.id"      :label="item.label"      :value="item.id">    </el-option>  </el-select></template> export default {  directives: {    'el-select-loadmore': {      bind(el, binding) {        // 獲取element-ui定義好的scroll盒子        const SELECTWRAP_DOM = el.querySelector('.el-select-dropdown .el-select-dropdown__wrap');        SELECTWRAP_DOM.addEventListener('scroll', function () {          /**          * scrollHeight 獲取元素內容高度(只讀)          * scrollTop 獲取或者設置元素的偏移值,常用于, 計算滾動條的位置, 當一個元素的容器沒有產生垂直方向的滾動條, 那它的scrollTop的值默認為0.          * clientHeight 讀取元素的可見高度(只讀)          * 如果元素滾動到底, 下面等式返回true, 沒有則返回false:          * ele.scrollHeight - ele.scrollTop === ele.clientHeight;          */          const condition = this.scrollHeight - this.scrollTop <= this.clientHeight;          if (condition) {            binding.value();          }        });      }    }  },  data() {    return {      value: '',      options: [],      formData: {        pageIndex: 1,        pageSize: 20,      }    };  },  mounted() {    this.getList(this.formData);  },  methods: {    loadmore() {      this.formData.pageIndex++;      this.getList(this.formData);    },    getList(formData) {      // 這里是接口請求數據, 帶分頁條件      const _res = [1, 2, 3]; // 請求得到的數據      this.options = [...this.options, ..._res];    }  }};

這樣就做到了滾動懶加載, 具體細節在應用時修改.

問題

這樣渲染問題解決了, 隨之會出現一個問題, 就是當你的value為選中的數據后, 分頁數大的數據.

當頁數小時, options數據中沒有當前value的那一個, value就會顯示為得到的id.

當你選中后你要保存下來當前的id以及lable, 下次過來時, 帶入當前組件, 手動放在options中,這樣就解決了這個問題.

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持錯新站長站。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 遂宁市| 盐边县| 武城县| 祥云县| 环江| 江陵县| 霍林郭勒市| 平乐县| 买车| 贵南县| 塔河县| 额尔古纳市| 邮箱| 和政县| 包头市| 新竹县| 宁远县| 磴口县| 韶关市| 阿拉善右旗| 禹城市| 象州县| 苗栗市| 德惠市| 崇义县| 东兰县| 时尚| 阿坝县| 来安县| 华蓥市| 永兴县| 吉林市| 乌苏市| 屏东县| 上蔡县| 西青区| 林甸县| 姜堰市| 分宜县| 青阳县| 肥东县|