• better-scroll 上拉刷新,下拉加载模板


    npm install better-scroll --save
    <template>
    <div class="tabbar">
    <div ref="wrapper" class="wrapper">
    <div class="content" ref="content">
    <!--上拉的东西-->
    <div class="top">上拉刷新</div>
    <ul>
    <li v-for="item in data" style="line-height:100px">{{item}}</li>
    </ul>
    <!--上拉的东西-->
    <div class="bottom">下拉加载</div>
    </div>
    </div>
    </div>
    </template>

    <script>
    import BScroll from "better-scroll"
    export default {
    data(){
    return {
    data: [0,1,2,3,4,5,6,8,8,8,8,8],
    height:0,
    }
    },
    methods: {
    getData() {
    return new Promise(resolve => { //模拟数据请求
    setTimeout(() => {
    const arr = [];
    for (let i = 0; i < 10; i++) {
    this.data.push(i)
    }
    resolve(arr)
    }, 1000)
    })
    },
    },
    watch: {
    data(val){
    this.$nextTick(() => {
    this.scroll.refresh()
    this.scroll.finishPullUp()
    })
    }
    },
    computed: {

    },
    mounted(){
    this.scroll = new BScroll(this.$refs.wrapper, {
    // 上拉加载
    pullUpLoad: {
    // 当上拉距离超过30px时触发 pullingUp 事件
    threshold: -30
    },
    // 下拉刷新
    pullDownRefresh: {
    // 下拉距离超过30px触发pullingDown事件
    threshold: 30,
    // 回弹停留在距离顶部20px的位置
    stop: 20
    }
    })
    this.scroll.on('pullingUp', () => {
    console.log('处理上拉加载操作')
    this.getData().then(res=>{
    console.log('asfsaf')
    // 事情做完,需要调用此方法告诉 better-scroll 数据已加载,否则下拉事件只会执行一次
    // this.scroll.finishPullUp()
    })
    })
    this.scroll.on('pullingDown', () => {
    console.log('处理下拉刷新操作')
    this.getData().then(res=>{
    // 事情做完,需要调用此方法告诉 better-scroll 数据已加载,否则下拉事件只会执行一次
    this.scroll.finishPullDown()
    })
    })
    }
    }
    </script>

    <style>
    .top{
    position: fixed;
    top:-40px;
    }
    .bottom{
    position: fixed;
    bottom:-40px;
    }
    /*对外层div进行了高度上的限制*/
    .wrapper {
    position: fixed;
    left: 0;
    top: 0;
    bottom: 0;
    100%;
    height:100vh;
    overflow:hidden;
    }
    .content {
    100%;
    /*height:800px;*/
    background:blue;
    }
    </style>
  • 相关阅读:
    nconf修改密码
    快速清空一个文
    freebsd安装snmp
    -bash: mail: command not found
    重置Cacti密码
    cacti添加被监控机全过程
    cacti图形字符乱码
    博客链接
    tar命令详解
    MainPresenter 实现类
  • 原文地址:https://www.cnblogs.com/dashaxiong/p/12201897.html
Copyright © 2020-2023  润新知