Comments (1)
亲测部分android机型拖动多次会拖动不了,因为 ele.scrollHeight - ele.scrollTop === ele.clientHeight + 1,所以一直判断不为edge,上拉刷新不了,所以isEdge方法可以加一行代码兼容一下。
机型为:oppo A57修改isEdge函数
isEdge(ele, direction) {
const container = this.props.getScrollContainer();
// 父容器需要设置height100vh,scroll auto时,scrollTop才会改变,不然一直为0
if (container && container === document.body) {
// In chrome61document.body.scrollTop
is invalid
const scrollNode = document.scrollingElement ? document.scrollingElement : document.body;
if (direction === UP) {
return scrollNode.scrollHeight - scrollNode.scrollTop <= window.innerHeight;
}
if (direction === DOWN) {
return scrollNode.scrollTop <= 0;
}
}
if (direction === UP) {
// 兼容部分android机型,需要 + 1px
return ele.scrollHeight - ele.scrollTop === ele.clientHeight + 1 || ele.scrollHeight - ele.scrollTop === ele.clientHeight;
}
if (direction === DOWN) {
return ele.scrollTop <= 0;
}
}
设置误差范围靠谱点,这玩意有时候返回的是小数,Math.abs(ele.scrollHeight - ele.scrollTop - ele.clientHeight)<=1
from m-pull-to-refresh.
Related Issues (20)
- 上拉加载,已经到达底部,却没有出现上拉加载 HOT 3
- 如何禁用下拉刷新 HOT 1
- 有性能问题
- getScrollContainer不稳定(涉及ref),导致children创建多次的问题
- 连续快速下滑,第二次滑动后会直接回弹回去
- 下拉容器中含有需要左右滑动的子元素,在左右滑动的时候,建议不触发transform 改变下拉容器的位移
- 当容器内有子容器 overflow:auto 当滚动子容器的时候 会触发onRefresh 导致子容器内部无法正常滚动 HOT 2
- 是否能告知能否初始化触发加载
- 页面渲染白屏问题
- 手机端内容往下拉之后 往回滑会触发下拉加载 HOT 3
- 与 ListView 同时使用时没有正确触发重新渲染
- Does getScrollContainer should return type HTMLElement instead of ReactNode?
- not normal after release
- 可以提供ts导出文件啊
- ssr support?
- wrong repo meta info
- 小米手机不能触发上拉加载
- How to disable pull to trigger?
- 阻尼系数0.6建议开放入参
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from m-pull-to-refresh.