上拉加载下拉刷新组件-mescroll.js

本文介绍了mescroll.js,一个适用于手机端和浏览器的上拉加载、下拉刷新组件。推荐使用并提供了链接http://www.mescroll.com/api.html#NPM。在使用过程中需要注意在DOM渲染后初始化、React中的特殊处理以及数据拼接等问题。此外,还强调了设置HTML和body高度为100%的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

附上链接地址http://www.mescroll.com/api.html#NPM,手机端和浏览器都能够使用,唯一推荐;

使用过程中要注意这些问题http://www.mescroll.com/qa.html

使用注意事项:

1,引入的时候出问题及时看官方给出的解决方案(基本上都必须看);

2,react中一定要在dom渲染之后的方法(didMount)中初始化,因为这个需要拿到dom对象;

3,在react工程中,回调的数据一定要拼接,这是要注意的(datas:ctx.state.datas.concat(json.info));

4,很坑需要单页的里的html和body高度设置100%。

下边附上简易代码

import React, { Component, PropTypes } from 'react';
import MeScroll from "mescroll.js"

class StretchingUp extends Component {
    constructor(props, context) {
        super(props, context);
        this.state={
            datas:[],
            total:0,
        }
        this.test = this.test.bind(this);
    }
    componentDidMount(){
        document.ondragstart=function() {return false;}
        let ctx = this;
        var mescroll = new MeScroll ( "mescroll" , {down : { use:false}, up : {
            use:true,
            auto:true,
            offSet:100,
            page:{
                num:0,
                size:20,
                time:null
            },
            onScroll:function(mescroll, y, isUp){
            },
            callback:function (page, mescroll) {
                ctx.test(page, mescroll);
            },
            error: function (e) {
            }
        }} ) ;
        mescroll.resetUpScroll()
    }
    test(page, mescroll){
        console.log(page)
        let url = "http://localhost:5577/curpage/"+page.num+"/pagesize/"+page.size;
        let ctx = this;
        fetch(url,{
            method:'GET',
            headers: {
                'Accept': 'application/json',
                'Content-Type': 'application/json',
            },
        }).then((resp)=>{
            if(resp){
                return resp.json();
            }else{
                return false;
            }
        })
        .then((json)=>{
                ctx.setState({
                datas:ctx.state.datas.concat(json.info),
                total:json.total
            },()=>{
        })

        mescroll.endSuccess();
        return true;
    });
    }
    render() {
        return (
            <div id="mescroll" className="mescroll" style={{height: "500px",overflow: "auto"}}>
            {this.state.datas.map((item,index)=>(
                <div key={index}>
                    {item.id}
                </div>
            ))}
            </div>
    );
    }}

export default  StretchingUp;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值