1.0.39 • Published 6 years ago

vue-refresh-loadmore v1.0.39

Weekly downloads
2
License
ISC
Repository
github
Last release
6 years ago

vue-refresh-loadmore

基于vue2.0的上拉加载&下拉刷新组件

测试阶段,请勿下载

注意:需要给此组件的父级正确的height
注意:需要给此组件的父级正确的height
注意:需要给此组件的父级正确的height

使用方法:

1、install

$ npm install vue-refresh-loadmore --save

2、template

<scroller  
    :loading="loading"  
    :noMore="noMore"  
    @onRefresh="onRefresh"  
    @onLoadmore="onLoadmore">  
    <ul>  
        <li v-for="(item, index) in list" :key="index">...</li>  
    </ul>  
</scroller>  

3、script

import Scroller from 'vue-refresh-loadmore'  
export default {
    components: { Scroller },  
    data () {  
        return {  
            loading: true,  // 页面加载的状态  
            noMore: false,  // 没有更多了  
            list: [],       // 页面li数据  
            page: 1         // 初始化页码
        }  
    },  
    methods: {  
        onRefresh (done) {  // 触发刷新时的处理函数
            this.page = 1  
            this.noMore = false  
            this.getData('refresh', done)  
        },  
        onLoadmore (done) {  // 触发加载更多时的处理函数
            this.page++  
            this.getData('loadmore', done)  
        },  
        getData (type, done) {  
            if (!type) this.loading = true    // 初始化加载  
            
            // 请求数据 ( 建议使用axios )  
            const params = {  
                page: this.page  
            }  
            axios.get('url', { params: params }).then(res => {  
                if (!type) this.loading = false  // 初始化完成  
                
                let data = res.data.data  
                if (this.page === 1) {  
                    this.list = data.list  
                } else {  
                    this.list = [].concat(this.list, data.list)  
                }  

                // 如没有更多了,需将 this.noMore 置为 true  
                if (data.list.length === 0) {  
                    this.noMore = true  
                }  
                
                // 完成请求后,手动执行done(),关闭加载占位  
                if(done) done(this.noMore)  
            })  
        }  
    },  
    created () {
        this.getData()
    }
}
1.0.39

6 years ago

1.0.38

6 years ago

1.0.37

6 years ago

1.0.36

6 years ago

1.0.35

6 years ago

1.0.34

6 years ago

1.0.33

6 years ago

1.0.32

6 years ago

1.0.31

6 years ago

1.0.30

6 years ago

1.0.29

6 years ago

1.0.28

6 years ago

1.0.27

6 years ago

1.0.26

6 years ago

1.0.25

6 years ago

1.0.24

6 years ago

1.0.23

6 years ago

1.0.22

6 years ago

1.0.21

6 years ago

1.0.20

6 years ago

1.0.19

6 years ago

1.0.18

6 years ago

1.0.17

6 years ago

1.0.16

6 years ago

1.0.15

6 years ago

1.0.14

6 years ago

1.0.13

6 years ago

1.0.12

6 years ago

1.0.11

6 years ago

1.0.10

6 years ago

1.0.9

6 years ago

1.0.8

6 years ago

1.0.7

6 years ago

1.0.5

6 years ago

1.0.4

6 years ago

1.0.3

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago