国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專(zhuān)欄INFORMATION COLUMN

el-select數(shù)據(jù)過(guò)多懶加載(loadmore)

elliott_hu / 3465人閱讀

摘要:數(shù)據(jù)過(guò)多處理方式在日常項(xiàng)目中組件的使用頻率是非常之高的當(dāng)數(shù)據(jù)過(guò)多時(shí)渲染時(shí)間非常長(zhǎng)這里提供幾個(gè)處理方式遠(yuǎn)程搜索組件提供了遠(yuǎn)程搜索方式也就是按照你輸入的結(jié)果匹配選項(xiàng)官網(wǎng)提供了參考示例這里不加贅述下拉懶加載下拉懶加載當(dāng)滾動(dòng)到底部時(shí)你再去請(qǐng)求一

el-select數(shù)據(jù)過(guò)多處理方式

在日常項(xiàng)目中el-select組件的使用頻率是非常之高的. 當(dāng)數(shù)據(jù)過(guò)多時(shí)渲染時(shí)間非常長(zhǎng), 這里提供幾個(gè)處理方式.

遠(yuǎn)程搜索

組件提供了遠(yuǎn)程搜索方式, 也就是按照你輸入的結(jié)果匹配選項(xiàng).

官網(wǎng)提供了參考示例; 這里不加贅述.

下拉懶加載loadMore

下拉懶加載, 當(dāng)select滾動(dòng)到底部時(shí), 你再去請(qǐng)求一部分?jǐn)?shù)據(jù), 加入到當(dāng)前數(shù)據(jù)中.

某組件中:



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 獲取元素內(nèi)容高度(只讀)
                    * scrollTop 獲取或者設(shè)置元素的偏移值,常用于, 計(jì)算滾動(dòng)條的位置, 當(dāng)一個(gè)元素的容器沒(méi)有產(chǎn)生垂直方向的滾動(dòng)條, 那它的scrollTop的值默認(rèn)為0.
                    * clientHeight 讀取元素的可見(jiàn)高度(只讀)
                    * 如果元素滾動(dòng)到底, 下面等式返回true, 沒(méi)有則返回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) {
            // 這里是接口請(qǐng)求數(shù)據(jù), 帶分頁(yè)條件
            const _res = [1, 2, 3]; // 請(qǐng)求得到的數(shù)據(jù)
            this.options = [...this.options, ..._res];
        }
    }
};

這樣就做到了滾動(dòng)懶加載, 具體細(xì)節(jié)在應(yīng)用時(shí)修改.

問(wèn)題

這樣渲染問(wèn)題解決了, 隨之會(huì)出現(xiàn)一個(gè)問(wèn)題, 就是當(dāng)你的value為選中的數(shù)據(jù)后, 分頁(yè)數(shù)大的數(shù)據(jù).
當(dāng)頁(yè)數(shù)小時(shí), options數(shù)據(jù)中沒(méi)有當(dāng)前value的那一個(gè), value就會(huì)顯示為得到的id.

當(dāng)你選中后你要保存下來(lái)當(dāng)前的id以及lable, 下次過(guò)來(lái)時(shí), 帶入當(dāng)前組件, 手動(dòng)放在options中,
這樣就解決了這個(gè)問(wèn)題.

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/53543.html

相關(guān)文章

  • el-select數(shù)據(jù)過(guò)多加載(loadmore)

    摘要:數(shù)據(jù)過(guò)多處理方式在日常項(xiàng)目中組件的使用頻率是非常之高的當(dāng)數(shù)據(jù)過(guò)多時(shí)渲染時(shí)間非常長(zhǎng)這里提供幾個(gè)處理方式遠(yuǎn)程搜索組件提供了遠(yuǎn)程搜索方式也就是按照你輸入的結(jié)果匹配選項(xiàng)官網(wǎng)提供了參考示例這里不加贅述下拉懶加載下拉懶加載當(dāng)滾動(dòng)到底部時(shí)你再去請(qǐng)求一 el-select數(shù)據(jù)過(guò)多處理方式 在日常項(xiàng)目中el-select組件的使用頻率是非常之高的. 當(dāng)數(shù)據(jù)過(guò)多時(shí)渲染時(shí)間非常長(zhǎng), 這里提供幾個(gè)處理方式. ...

    leoperfect 評(píng)論0 收藏0
  • 【簡(jiǎn)單好用,支持加載】 vue-waterfall2 基于Vue.js 瀑布流 組件

    摘要:不需知道元素寬高,可寬高自適應(yīng)自定義程度高支持懶加載提供端滑動(dòng)到底部觸發(fā),端需要上拉觸發(fā)使用極為簡(jiǎn)便適用于有問(wèn)題歡迎提前端工程化算法注意需要與一起使用才會(huì)生效,否則會(huì)進(jìn)行自適應(yīng)寬度使用布局時(shí),需先計(jì)算出自適應(yīng)后的寬度再傳值使用了的 vue-waterfall2 1.不需知道元素寬高,可寬高自適應(yīng) 2.自定義程度高 3.支持懶加載(lazy-src) 4.提供Event:loadmor...

    james 評(píng)論0 收藏0
  • vue 在移動(dòng)端體驗(yàn)上的優(yōu)化解決方案

    摘要:去年年底自己搭了一個(gè)在移動(dòng)端的開(kāi)發(fā)框架,感覺(jué)體驗(yàn)不是很好。路由懶加載首頁(yè)終于寫(xiě)完了,以上這些就是我在移動(dòng)端體驗(yàn)優(yōu)化的實(shí)戰(zhàn)。去年年底自己搭了一個(gè)vue在移動(dòng)端的開(kāi)發(fā)框架,感覺(jué)體驗(yàn)不是很好。上個(gè)星期又要做移動(dòng)端的項(xiàng)目了。所以我花了兩天時(shí)間對(duì)之前的那個(gè)開(kāi)發(fā)框架做了以下優(yōu)化 自定義vuex-plugins-loading 路由切換動(dòng)畫(huà) + keep alive 動(dòng)態(tài)管理緩存組件 better-sc...

    godlong_X 評(píng)論0 收藏0
  • Javascript零碎之IntersectionObserver

    摘要:主要用于元素可見(jiàn)性的監(jiān)聽(tīng),比傳統(tǒng)通過(guò)全局監(jiān)聽(tīng)事件去判斷可見(jiàn)性無(wú)論是性能還是便利性都要好得多。問(wèn)題是這種通過(guò)監(jiān)聽(tīng)的方式很容易導(dǎo)致性能問(wèn)題,或者多多少少會(huì)有些性能損失。 IntersectionObserver主要用于元素可見(jiàn)性的監(jiān)聽(tīng),比傳統(tǒng)通過(guò)全局監(jiān)聽(tīng)scroll事件去判斷可見(jiàn)性無(wú)論是性能還是便利性都要好得多。因?yàn)閍pi比較新,存在兼容性問(wèn)題,好在已經(jīng)有了兼容的polyfill.其基本介...

    張遷 評(píng)論0 收藏0
  • 數(shù)據(jù)驅(qū)動(dòng),快速開(kāi)發(fā)組件(ElementUI篇)

    摘要:基于這種思路,那留給我們的只有兩步,組件設(shè)計(jì)和數(shù)據(jù)設(shè)計(jì)。關(guān)于組件的相關(guān)邏輯,可能要在文章里面一次性說(shuō)清楚,還是需要費(fèi)很大的精力,不過(guò)希望數(shù)據(jù)驅(qū)動(dòng)的思想能夠讓之前沒(méi)有體會(huì)到這種開(kāi)發(fā)樂(lè)趣的小伙伴們有到新的想法。 在日常開(kāi)發(fā)中,我們肯定不止一次碰到重復(fù)的業(yè)務(wù)代碼,明明功能相似,但總沒(méi)思路去把它封裝成組件。關(guān)于封裝組件,希望這篇文章能帶給大家新的思路,去更高效的完成日常開(kāi)發(fā)。(注:例子都是基于...

    enrecul101 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<