最新国产好看的视频,伊人天堂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ù),當數(shù)據(jù)很多的時候,不能一頁顯示完,同時一次請求數(shù)據(jù)量太大,會增加網(wǎng)頁渲染的時間,影響體驗,

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

1、分頁,如下

 

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

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


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

 

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

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

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

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

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

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

 

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

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

在第一次請求數(shù)據(jù)的時候,先設置一個變量來記錄請求次數(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){//當前頁數(shù)小于總頁數(shù)就請求
        $this.currentPage++;//當前頁數(shù)自增
        
        //請求接口的代碼
        $this.$axios.fun().then(res=>{
        
          $this.tableData = $this.tableData.concat(res.data)//將請求回來的數(shù)據(jù)和當前展示的數(shù)據(jù)合并在一起
        })
        
      }
    }
  })

好了,表格滾動下拉懶加載數(shù)據(jù)就是這樣實現(xià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中封裝一個高效、可復用的ECharts組件TChart,該組件支持響應式圖表、空數(shù)據(jù)展示、事件監(jiān)聽、主題切換和性能優(yōu)化等功能,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2025-01-01
  • VUE 常規(guī)截取和特殊字符之前之后截取(實例代碼)

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

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

    uniapp使用webView工作實踐記錄

    uni-app中的web-view是一個web瀏覽器組件,可以用來承載網(wǎng)頁的容器,下面這篇文章主要給大家介紹了關于uniapp使用webView的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    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設計的集中式狀態(tài)管理架構。這篇文章主要介紹了全站最詳細的Vuex教程,需要的朋友可以參考下
    2018-04-04

最新評論

江华| 平南县| 五原县| 诸暨市| 新乡县| 河池市| 高密市| 津南区| 清水县| 昭苏县| 象山县| 扎鲁特旗| 闻喜县| 中方县| 星子县| 碌曲县| 贺州市| 新蔡县| 隆子县| 陵水| 南通市| 铜山县| 武清区| 钟山县| 寿宁县| 宜丰县| 五莲县| 巴彦县| 浦东新区| 武义县| 嫩江县| 建平县| 图们市| 焦作市| 通河县| 神农架林区| 青神县| 东台市| 犍为县| 林甸县| 阿尔山市|