1、 在使用ListView
列表实现下拉刷新的同时,需要满足长按列表Item
进入长按功能页面,
这时候就会遇到下拉刷新会进入到长按列表的可能。
2、一开始我一直在考虑如何去区分这两种动作,但一直未果。
先看我的实现代码
注册这四种事件
touchStart = () => {
const {
touchStartEvent } = this.props;
this.pressTime = setTimeout(() => {
touchStartEvent();
}, '500');
};
touchMove = () => {
clearTimeout(this.pressTime);
};
touchCancel = () => {
};
// 长按事件
handleTouchEnd = () => {
clearTimeout(this.pressTime);
};
我发现下拉刷新在滑动的时候也是会触发到长按的定时器,所以要解决的方式就是在移动的时候也去清除长按的定时器事件
,即可。