javascript - 使用 ontouchmove 只触发一次
问题描述
我正在尝试创建一些功能,以允许用户滑动表格行以检查我的数据库中的人,我在使用滑动库时遇到了麻烦,因为我的导入由于某种未知原因被我的项目拒绝。我决定尝试使用内置ontouchmove
函数做一些事情,但是每当我使用ontouchmove
我的函数时,我的函数checkedIn()
会被一遍又一遍地触发,有没有办法混合不同ontouchmove
的ontouchend
等函数,每次滑动只执行一次?
这是我目前实现的一些代码:
return (
(session) ?
<tr // eslint-disable-line jsx-a11y/no-static-element-interactions
key={booking.id}
onTouchMove={checkIn(booking.id)}
>
<td>{booking.type}</td>
<td>
{booking.sessionId ?
<span>
{(new Date(sessions[booking.sessionId].date)).toLocaleString('en-GB', {
day: '2-digit',
month: '2-digit',
year: 'numeric',
timeZone: 'utc',
})} {session.name}
</span> :
<span>No session</span> // eslint-disable-line react/jsx-indent
}
</td>
<td>
<div>{booking.consumerName}</div>
<div>{booking.consumerEmail}</div>
<div>{booking.consumerPhonenumber}</div>
</td>
解决方案
一个可能的解决方法是简单地对被调用的函数进行去抖动,您可以创建自己的去抖动函数或使用库中的一个,例如lodash。
推荐阅读
- sql - 基于其他列有条件地将列数据显示为 SQL 视图中的别名
- python - 如何在输入深度神经网络节点之前标准化数据
- angularjs - 带有 Protractor 的 AngularJS e2e 测试用例使用 Google Captcha 失败
- javascript - 如何将 PHP 变量传输到另一个 javascript 文件?
- javascript - 使用 useNativeDriver 反应原生动画 - _reactNative.Animated.event(...) 不是函数
- c# - C#WhenAny Cancel 调用不起作用导致线程累积
- html - 有没有办法让元素的内容在扩展宽度之前填充可用高度?
- google-bigquery - 在 BigQuery 中,如何过滤 json 中某些子元素之和为正的行?
- javascript - 如果函数已经运行,我有一个关于让函数不运行的问题
- python - Pandas:在多索引数据框中创建新的(子级别)列并分配值