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

首頁 > 語言 > JavaScript > 正文

詳解vue mint-ui源碼解析之loadmore組件

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

本文介紹了vue mint-ui源碼解析之loadmore組件,分享給大家,具體如下:

接入

官方接入文檔mint-ui loadmore文檔

接入使用Example

html

<div id="app">  <mt-loadmore :top-method="loadTop" :bottom-method="loadBottom" :bottom-all-loaded="allLoaded" :max-distance="150"         @top-status-change="handleTopChange" ref="loadmore">    <div slot="top" class="mint-loadmore-top">      <span v-show="topStatus === 'pull'" :class="{ 'rotate': topStatus === 'drop' }">↓</span>      <span v-show="topStatus === 'loading'">Loading...</span>      <span v-show="topStatus === 'drop'">釋放更新</span>    </div>    <ul class="scroll-wrapper">      <li v-for="item in list" @click="itemClick(item)">{{ item }}</li>    </ul>  </mt-loadmore></div>

css

<link rel="stylesheet"  rel="external nofollow" >*{  margin: 0;  padding: 0;}html, body{  height: 100%;}#app{  height: 100%;  overflow: scroll;}.scroll-wrapper{  margin: 0;  padding: 0;  list-style: none;}.scroll-wrapper li{  line-height: 120px;  font-size: 60px;  text-align: center;}

js 

<!-- 先引入 Vue --><script src="https://unpkg.com/vue/dist/vue.js"></script><!-- 引入組件庫 --><script src="https://unpkg.com/mint-ui/lib/index.js"></script><script>  new Vue({    el: '#app',    data: {      list: [],      allLoaded: false,      topStatus: ''    },    created: function () {      var i =0, len=20;      for (; i< len; i++){        this.list.push('demo' + i);      }    },    methods: {      loadTop: function () { // 刷新數據的操作        var self = this;        setTimeout(function () {          self.list.splice(0, self.list.length);          var i =0, len=20;          for (; i< len; i++){            self.list.push('demo' + i);          }          self.$refs.loadmore.onTopLoaded();        }, 2000);      },      loadBottom: function () { // 加載更多數據的操作        //load data        //this.allLoaded = true;// 若數據已全部獲取完畢        var self = this;        setTimeout(function () {          var i =0; len = 10;          for (; i< len; i++){            self.list.push('dddd' + i);          }          self.$refs.loadmore.onBottomLoaded();        }, 2000);      },      handleTopChange: function (status) {        this.topStatus = status;      },      itemClick: function (data) {        console.log('item click, msg : ' + data);      }    }  });</script>

實現原理解析

布局原理

loadmore組件內部由三個slot組成,分別為name=top,name=bottom,default; top用于展示下拉刷新不同狀態展示的內容,初始設置margin-top為-top的高度來將自己隱藏 bottom同top,用于展示上拉加載更多不同狀態展示的內容 default填充滾動詳細內容
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 洛扎县| 德化县| 广西| 唐海县| 交城县| 宁陕县| 阿荣旗| 陇南市| 中江县| 华阴市| 阿瓦提县| 乐东| 遂川县| 唐海县| 社旗县| 永新县| 博乐市| 炉霍县| 阿勒泰市| 万盛区| 山阴县| 唐河县| 游戏| 集贤县| 北碚区| 茂名市| 隆化县| 锡林浩特市| 彭山县| 公安县| 永福县| 渭源县| 九台市| 容城县| 兴和县| 洛宁县| 靖安县| 通榆县| 密山市| 淮安市| 湖口县|