国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【性能優(yōu)化】虛擬懶加載(下拉滾動(dòng)加載長(zhǎng)列表)element-puls+el-table

這篇具有很好參考價(jià)值的文章主要介紹了【性能優(yōu)化】虛擬懶加載(下拉滾動(dòng)加載長(zhǎng)列表)element-puls+el-table。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。


前言

提示:這里可以添加本文要記錄的大概內(nèi)容:

在element-plus中,如果數(shù)據(jù)超過(guò)1k,就會(huì)感覺(jué)到明顯的卡頓,應(yīng)該是渲染的卡頓吧。反正我在請(qǐng)求回來(lái)接口之后,loading,會(huì)卡頓。用戶體驗(yàn)十分不佳。然后吧,這個(gè)列表還不能分頁(yè),得全部展示出來(lái),因?yàn)樵O(shè)計(jì)的,不能改,上面要求。。。
好吧,現(xiàn)在開(kāi)始優(yōu)化~

(一定要說(shuō)一句,我們項(xiàng)目的分頁(yè)一般都是前端做的分頁(yè),感覺(jué)體驗(yàn)十分不佳,為什么就不好好的后端分頁(yè)尼,因?yàn)檎f(shuō)不過(guò))


提示:以下是本篇文章正文內(nèi)容,下面案例可供參考

一、卡頓的原因?

請(qǐng)求接口返回之后,關(guān)閉loading,但是界面并沒(méi)有及時(shí)的關(guān)閉,這個(gè)問(wèn)題,應(yīng)該是有什么阻塞了,開(kāi)始定位,發(fā)現(xiàn),應(yīng)該是界面中的一個(gè)長(zhǎng)列表沒(méi)有進(jìn)行懶加載優(yōu)化,導(dǎo)致渲染DOM,花費(fèi)了太長(zhǎng)的時(shí)間。然后kakaka

二、解決

1、滾動(dòng)懶加載

代碼如下(示例):

<el-table
  id="lazyLoad"
  :data="showDataL"
  :max-height="temp_len_l">
  ...
</el-table>

/**
 * @desc table懶加載
 */
const lazyLoading = () => {
  // 這個(gè)地方就是為了得到滾動(dòng)的那個(gè)元素,大家隨意
  let dom = document.getElementById("lazyLoad");
  let scrollDOM = dom.querySelector(".el-scrollbar__wrap");
  
  scrollDOM.addEventListener("scroll", (v) => {
    const scrollDistance = scrollDOM.scrollHeight - scrollDOM.scrollTop - scrollDOM.clientHeight;
    if (scrollDistance <= 1) {
      if (pagination.page < pagination.totalPage) {//當(dāng)前頁(yè)數(shù)小于總頁(yè)數(shù)就重新設(shè)置table的數(shù)據(jù)
        pagination.page++; //當(dāng)前頁(yè)數(shù)自增
        console.log(
          "頁(yè)面已經(jīng)到達(dá)底部,可以重新設(shè)置table數(shù)據(jù),現(xiàn)在是加載第 " + pagination.page +" 頁(yè)數(shù)據(jù)"
        );
        showDataL.value = dataL.value.slice(0, pagination.page * 20)
      }
    }
  });
};

onMounted(() => {
  lazyLoading();
});

2.官方

官方有一個(gè)虛擬表格,目前孩子啊測(cè)試階段,大家也可以嘗試一下,我就不貼出來(lái)了
點(diǎn)擊進(jìn)入


總結(jié)

提示:這里對(duì)文章進(jìn)行總結(jié):

長(zhǎng)列表性能優(yōu)化,主打一個(gè)減少DOM元素的一次性渲染加載文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-732825.html

到了這里,關(guān)于【性能優(yōu)化】虛擬懶加載(下拉滾動(dòng)加載長(zhǎng)列表)element-puls+el-table的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • vue+element-ui 實(shí)現(xiàn)下拉框滾動(dòng)加載

    vue+element-ui 實(shí)現(xiàn)下拉框滾動(dòng)加載

    該功能是由 自定義滾動(dòng)指令 結(jié)合下拉框 :remote-method 遠(yuǎn)程搜索 實(shí)現(xiàn)的 開(kāi)啟遠(yuǎn)程搜索 參考官方文檔 綁定自定義指令 v-el-select-loadmore=“l(fā)oadmore”

    2024年02月14日
    瀏覽(98)
  • element-ui select下拉框滾動(dòng)加載更多

    element-ui select下拉框滾動(dòng)加載更多

    當(dāng)下拉框數(shù)據(jù)過(guò)多時(shí),加載會(huì)非常慢,所以使用分頁(yè)去顯示,通過(guò)監(jiān)聽(tīng)滾動(dòng)事件來(lái)達(dá)到分頁(yè)效果。 我是使用Vue自定義指令來(lái)做的。 一、首先在src下創(chuàng)建一個(gè)js文件,完成自定義指令的編寫(xiě) 有沒(méi)有大神告訴我,自定義指令為啥在同一個(gè)頁(yè)面不能使用多次? 二、在main.js中引入進(jìn)來(lái)

    2024年02月16日
    瀏覽(28)
  • python+selenium下拉列表,滾動(dòng)條操作失效時(shí),用鍵盤(pán)向下鍵代替

    python+selenium下拉列表,滾動(dòng)條操作失效時(shí),用鍵盤(pán)向下鍵代替

    我們項(xiàng)目的頁(yè)面有一個(gè)下拉列表,但不是select類(lèi)型,無(wú)法通過(guò)封裝稱(chēng)Select來(lái)操作??戳撕芏辔恼露紝?xiě)通過(guò)js代碼driver.execute_script(\\\"window.scrollTo(0,10000)\\\")可以實(shí)現(xiàn)滾動(dòng),但我怎么試都不行,就選擇換一種思路,通過(guò)鍵盤(pán)向下鍵來(lái)代替鼠標(biāo)滾動(dòng) 我們項(xiàng)目的下拉列表是ul類(lèi)型,列表中

    2024年02月08日
    瀏覽(21)
  • 小程序列表下拉刷新和加載更多

    小程序列表下拉刷新和加載更多

    在小程序的app.json中,檢查window項(xiàng)目中是否已經(jīng)加入了\\\"enablePullDownRefresh\\\": true,這個(gè)用來(lái)開(kāi)啟下拉刷新 直接引入weui 上方兩個(gè)查詢條件和一個(gè)按鈕,下方顯示列表 data中定義幾個(gè)參數(shù),分別對(duì)應(yīng)請(qǐng)求參數(shù)和返回結(jié)果。 定義一個(gè)公共的請(qǐng)求方法,用來(lái)調(diào)用接口,加載更多、下來(lái)刷

    2024年02月20日
    瀏覽(20)
  • react18虛擬滾動(dòng)列表

    react18虛擬滾動(dòng)列表

    不依賴第三方,借用react18api和原生JS實(shí)現(xiàn)一個(gè)虛擬滾動(dòng)列表,如果你的項(xiàng)目比較小,又不想引入第三方的框架,可以拿去用; style樣式 核心HTML 邏輯代碼

    2024年02月19日
    瀏覽(20)
  • uniapp-微信小程序?qū)崿F(xiàn)swiper左右滾動(dòng)切換tab,上下滾動(dòng)加載列表

    思路:左右滑動(dòng)使用swiper,上下滑動(dòng)用scroll-view,swiper改變時(shí)同時(shí)改變tab并更新列表 坑點(diǎn): 1. swiper高度問(wèn)題,導(dǎo)致滑動(dòng)不到最底部和最頂部 ? ? ? ? 需要手動(dòng)計(jì)算,減去頂部高度和底部tabbar,并且需要同時(shí)設(shè)置padding-top和paddin-botton,否則列表顯示不完整 2. 由于最開(kāi)始的代碼

    2024年02月04日
    瀏覽(93)
  • vue3+element-plus 通過(guò)v-infinite實(shí)現(xiàn)下拉滾動(dòng)無(wú)限加載

    vue3+element-plus 通過(guò)v-infinite實(shí)現(xiàn)下拉滾動(dòng)無(wú)限加載

    v-infinite官網(wǎng) v-infinite-scroll無(wú)限滾動(dòng)組件使用詳解 ?官網(wǎng)給到的基礎(chǔ)案例: 自己寫(xiě)了一個(gè)簡(jiǎn)單的demo: 當(dāng)使用v-infinite時(shí),控制臺(tái)會(huì)報(bào)錯(cuò): ?原因: 官方上的Issues解釋是需要nextTick()之后再去顯示 解決方法是組件掛載完成再去顯示el-select組件 所以在上面demo中select組件加了v-if,

    2024年02月09日
    瀏覽(25)
  • vue3+elementUI-plus實(shí)現(xiàn)select下拉框的虛擬滾動(dòng)

    網(wǎng)上查了幾個(gè)方案,要不就是不兼容,要不就是不支持vue3, 最終找到一個(gè)合適的,并且已上線使用,需要修改一下樣式: 代碼如下: main.js里引用 vue文件: js代碼: css代碼:

    2024年02月13日
    瀏覽(29)
  • 前端列表頁(yè)+element-puls實(shí)現(xiàn)列表數(shù)據(jù)彈窗功能

    前端列表頁(yè)+element-puls實(shí)現(xiàn)列表數(shù)據(jù)彈窗功能

    效果圖: ?這是一個(gè)修改的彈窗,我們要實(shí)現(xiàn)的功能是,在列表,點(diǎn)擊修改按鈕時(shí),將數(shù)據(jù)帶入到彈窗里面,點(diǎn)擊保存時(shí)關(guān)閉彈窗。 1,點(diǎn)擊修改展開(kāi)彈窗 ?使用 eldialog組件,v-model綁定的值為true時(shí),打開(kāi)彈窗,組件里我放的時(shí)自己寫(xiě)的組件,用來(lái)做數(shù)據(jù)的展示,這里我們將可

    2024年02月06日
    瀏覽(23)
  • Vue 3 + Element UI Plus 實(shí)現(xiàn) Select 下拉框的虛擬滾動(dòng)效果詳解與代碼示例

    在 Vue 3 項(xiàng)目中,當(dāng)下拉框中的選項(xiàng)過(guò)多時(shí),使用虛擬滾動(dòng)可以提升性能和用戶體驗(yàn)。本文將介紹如何使用 Vue 3 和 Element UI Plus(el-select-plus)組件實(shí)現(xiàn) Select 下拉框的虛擬滾動(dòng)效果,并提供詳細(xì)的代碼示例。 首先,確保你已經(jīng)安裝了 Element UI Plus,它是 Element UI 的擴(kuò)展版本,支

    2024年02月08日
    瀏覽(37)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包