better-scroll 笔记

 

技巧

1. 当绑定容器为列表外面的元素时

<div
            className="wrapper"
            ref={scrollContaninerRef}
        >
            <div
                className="refresh-container"
                data-content-before="下拉刷新"
            >
                {props.children}
                {/* 滑到底部加载动画 */}
                <div className="refresh-footer" style={PullUpdisplayStyle}>正在加载</div>
                {/* 顶部下拉刷新动画 */}
                <div className="refresh-header" style={PullDowndisplayStyle}>Loading</div>
            </div>
        </div>

 

 2 当绑定容器列表元素时

   return (
        <div className="refresh-container" ref={scrollContaninerRef} data-content-before="下拉刷新">
            {props.children}
            {/* 滑到底部加载动画 */}
            <div className="pull_up_loading" style={PullUpdisplayStyle}>正在加载</div>
            {/* 顶部下拉刷新动画 */}
            <div className="pull_down_loading" style={PullDowndisplayStyle}>Loading</div>
        </div>
    );

 

 总结: 绑谁谁就可以滚动

 

  • 最外层wrapper一定要有高度且不能大于列表高度 和overflow 这和其他列表滚动一致
  • 列表如果是异步加载一定要加载成功后再去初始化, 组件懒加载也要注意这个问题
  • 有时会遇到滚到一半就不能滚动了,是因为刚开始请求的数据不完全,比如图片只请求了一半,这样就会导致bs计算高度不正确,所以需要监听图片加载,执行scroll.refresh()
  • 防抖debounce,监听图片加载时@load='imageLoad',如果不设置防抖,那么每加载一张图片就会执行一次监听,十分浪费资源,所以使用防抖来减少这种函数的调用
posted @ 2021-04-26 19:01  一路向北√  阅读(50)  评论(0编辑  收藏  举报

web应用开发&研究 -

业精于勤而荒于嬉。

工作,使我快乐。


Font Awesome | Respond.js | Bootstrap中文网