首頁 >web前端 >js教程 >vue2 mint-ui loadmore在行動端實作下拉刷新,上拉更多功能

vue2 mint-ui loadmore在行動端實作下拉刷新,上拉更多功能

php中世界最好的语言
php中世界最好的语言原創
2018-05-09 11:21:442154瀏覽

這次給大家帶來vue2 mint-ui loadmore在移動端實現下拉刷新,上拉更多功能,vue2 mint-ui loadmore在移動端實現下拉刷新,上拉更多功能的注意事項有哪些,下面就是實戰案例,一起來看一下。

<template>
 <p>
  </p>
<h1>Pull up</h1>
  <p>在列表底部, 按住 - 上拉 - 释放可以获取更多数据</p>
  <p>translate : {{ translate }}</p>
  <p>
   translateScale : {{ moveTranslate }}
  </p>
  <p>
   <mt-loadmore>
    <ul>
     <li>{{ item }}</li>
    </ul>
    <p>
     <span>↓</span>
     <span>
      <mt-spinner></mt-spinner>
     </span>
    </p>
    <p>
     <span>↑</span>
     <span>
      <mt-spinner></mt-spinner>
     </span>
    </p>
   </mt-loadmore>
  </p>
 
</template>
<style>
 .loading-background, .mint-loadmore-top span {
  -webkit-transition: .2s linear;
  transition: .2s linear
 }
 .mint-loadmore-top span {
  display: inline-block;
  vertical-align: middle
 }
 .mint-loadmore-top span.is-rotate {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg)
 }
 .page-loadmore .mint-spinner {
  display: inline-block;
  vertical-align: middle
 }
 .page-loadmore-desc {
  text-align: center;
  color: #666;
  padding-bottom: 5px
 }
 .page-loadmore-desc:last-of-type,
 .page-loadmore-listitem {
  border-bottom: 1px solid #eee
 }
 .page-loadmore-listitem {
  height: 50px;
  line-height: 50px;
  text-align: center
 }
 .page-loadmore-listitem:first-child {
  border-top: 1px solid #eee
 }
 .page-loadmore-wrapper {
  overflow: scroll
 }
 .mint-loadmore-bottom span {
  display: inline-block;
  -webkit-transition: .2s linear;
  transition: .2s linear;
  vertical-align: middle
 }
 .mint-loadmore-bottom span.is-rotate {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg)
 }
</style>
<script>
 export default {
  data() {
   return {
    list: [],
    allLoaded: false,
    bottomStatus: &#39;&#39;,
    wrapperHeight: 0,
    topStatus: &#39;&#39;,
    //wrapperHeight: 0,
    translate: 0,
    moveTranslate: 0
   };
  },
  methods: {
   handleBottomChange(status) {
    this.bottomStatus = status;
   },
   loadBottom() {
    setTimeout(() => {
     let lastValue = this.list[this.list.length - 1];
     if (lastValue < 40) {
      for (let i = 1; i <= 10; i++) {
       this.list.push(lastValue + i);
      }
     } else {
      this.allLoaded = true;
     }
     this.$refs.loadmore.onBottomLoaded();
    }, 1500);
   },
   handleTopChange(status) {
    this.moveTranslate = 1;
    this.topStatus = status;
   },
   translateChange(translate) {
    const translateNum = +translate;
    this.translate = translateNum.toFixed(2);
    this.moveTranslate = (1 + translateNum / 70).toFixed(2);
   },
   loadTop() {
    setTimeout(() => {
     let firstValue = this.list[0];
     for (let i = 1; i <= 10; i++) {
      this.list.unshift(firstValue - i);
     }
     this.$refs.loadmore.onTopLoaded();
    }, 1500);
   },
  },
  created() {
   for (let i = 1; i <= 20; i++) {
    this.list.push(i);
   }
  },
  mounted() {
   this.wrapperHeight = document.documentElement.clientHeight - this.$refs.wrapper.getBoundingClientRect().top;
  }
 };
</script>

我相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

推薦閱讀:

jquery裡filter()方法使用詳解

使用selectpicker下拉方塊案例分析

以上是vue2 mint-ui loadmore在行動端實作下拉刷新,上拉更多功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn