最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue elementUI table表格數(shù)據(jù) 滾動懶加載的實現(xiàn)方法

 更新時間:2019年04月04日 08:29:16   作者:一舧  
這篇文章主要介紹了vue elementUI table表格數(shù)據(jù)滾動懶加載的實現(xiàn)方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下

在項目中遇到了一個性能問題

vue+elementUI table表格展示數(shù)據(jù),當(dāng)數(shù)據(jù)很多的時候,不能一頁顯示完,同時一次請求數(shù)據(jù)量太大,會增加網(wǎng)頁渲染的時間,影響體驗,

這個時候常常有兩種方法處理,

1、分頁,如下

 

2、如果我不想分頁,又想在一頁顯示全部數(shù)據(jù)呢?這個時候其實就可以用數(shù)據(jù)懶加載了

如下一開始表格只顯示31行數(shù)據(jù)


當(dāng)將滾動條拉到低的時候,就會再加載31條數(shù)據(jù),如果剩下的數(shù)據(jù)不足31,那就加載剩下的

 

根據(jù)項目需求,這需要一頁可以看到全部數(shù)據(jù),所以我選擇了第二中方式

那么第二種方式要怎么去實現(xiàn)呢?

在了解它的原理前,你需要分清楚三個屬性:

scrollHeight:指元素的總高度,包含滾動條中的內(nèi)容。只讀屬性。不帶px單位。就是下圖中,54條數(shù)據(jù)的高度,但是因為有滾動條,所以屏幕看不到這么高

scrollTop:當(dāng)元素出現(xiàn)滾動條時,向下拖動滾動條,內(nèi)容向上滾動的距離。可讀可寫屬性。不帶px單位。如果該元素沒有滾動條,則scrollTop的值為0,該值只能是正值。就是下圖中紅色框的高度

clientHeight:元素客戶區(qū)的大小,指的是元素內(nèi)容及其邊框所占據(jù)的空間大小,實際上就是可視區(qū)域的大小。就是下圖紅色箭頭的高度

 

那如何判斷滾動條滾到底部了呢?

scrollHeight-scrollTop-clientHeight=0,這個時候可以就是滾動條滾到底部的時候了。

在第一次請求數(shù)據(jù)的時候,先設(shè)置一個變量來記錄請求次數(shù)(其實后臺也是做分頁的處理)

this.currentPage = 1,
$this = this;
this.$axios.fun().then(res=>{
   $this.totalPage = res.totalPage; //這里需要知道總頁數(shù)
   
   $this.tableData = res.data;//表格數(shù)據(jù)
})

監(jiān)聽表格dom對象的滾動事件

let dom = document.querySelector(targetDom);
  dom.addEventListener("scroll", function() {
    const scrollDistance =dom.scrollHeight - dom.scrollTop - dom.clientHeight;
    if(scrollDistance <=0){//等于0證明已經(jīng)到底,可以請求接口
      if($this.currentPage < $this.totalPage){//當(dāng)前頁數(shù)小于總頁數(shù)就請求
        $this.currentPage++;//當(dāng)前頁數(shù)自增
        
        //請求接口的代碼
        $this.$axios.fun().then(res=>{
        
          $this.tableData = $this.tableData.concat(res.data)//將請求回來的數(shù)據(jù)和當(dāng)前展示的數(shù)據(jù)合并在一起
        })
        
      }
    }
  })

好了,表格滾動下拉懶加載數(shù)據(jù)就是這樣實現(xiàn)的,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復(fù)大家的!

相關(guān)文章

  • Vue前端如何實現(xiàn)與后端進行數(shù)據(jù)交互

    Vue前端如何實現(xiàn)與后端進行數(shù)據(jù)交互

    這篇文章主要介紹了Vue前端如何實現(xiàn)與后端進行數(shù)據(jù)交互,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • 基于elementUI豎向表格、和并列的案例

    基于elementUI豎向表格、和并列的案例

    這篇文章主要介紹了基于elementUI豎向表格、和并列的案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • vue+axios 前端實現(xiàn)的常用攔截的代碼示例

    vue+axios 前端實現(xiàn)的常用攔截的代碼示例

    這篇文章主要介紹了vue+axios 前端實現(xiàn)的常用攔截的代碼示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • vue3封裝echarts組件的實現(xiàn)步驟

    vue3封裝echarts組件的實現(xiàn)步驟

    這篇文章主要介紹了如何在Vue3中封裝一個高效、可復(fù)用的ECharts組件TChart,該組件支持響應(yīng)式圖表、空數(shù)據(jù)展示、事件監(jiān)聽、主題切換和性能優(yōu)化等功能,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2025-01-01
  • VUE 常規(guī)截取和特殊字符之前之后截取(實例代碼)

    VUE 常規(guī)截取和特殊字符之前之后截取(實例代碼)

    這篇文章主要介紹了VUE 常規(guī)截取和特殊字符之前之后截取,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2023-10-10
  • uniapp使用webView工作實踐記錄

    uniapp使用webView工作實踐記錄

    uni-app中的web-view是一個web瀏覽器組件,可以用來承載網(wǎng)頁的容器,下面這篇文章主要給大家介紹了關(guān)于uniapp使用webView的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-06-06
  • vue 系列——vue2-webpack2框架搭建踩坑之路

    vue 系列——vue2-webpack2框架搭建踩坑之路

    本文從零搭建vue項目,給大家分享了我的vue2-webpack2框架搭建踩坑之路,需要的朋友可以參考下
    2017-12-12
  • 詳解使用webpack打包編寫一個vue-toast插件

    詳解使用webpack打包編寫一個vue-toast插件

    本篇文章主要介紹了詳解使用webpack打包編寫一個vue插件,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • vue-cli webpack 引入swiper的操作方法

    vue-cli webpack 引入swiper的操作方法

    今天小編就為大家分享一篇vue-cli webpack 引入swiper的操作方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • 全站最詳細的Vuex教程

    全站最詳細的Vuex教程

    vuex是一個專門為vue.js設(shè)計的集中式狀態(tài)管理架構(gòu)。這篇文章主要介紹了全站最詳細的Vuex教程,需要的朋友可以參考下
    2018-04-04

最新評論

长宁区| 商丘市| 龙井市| 莱西市| 惠州市| 夏河县| 安国市| 电白县| 安福县| 岐山县| 泗水县| 大洼县| 阳东县| 体育| 九江县| 呼和浩特市| 六枝特区| 南丹县| 外汇| 梨树县| 松阳县| 名山县| 土默特左旗| 喀什市| 沁水县| 锦屏县| 马关县| 榆中县| 石阡县| 汉中市| 平南县| 阳山县| 西乌珠穆沁旗| 博白县| 文化| 南木林县| 神农架林区| 象州县| 宁武县| 云安县| 云林县|