ant-design-mobile-Tabs纵向滑动触发切换tab问题解决方式
发布日期:2021-05-20 10:07:08 浏览次数:34 分类:技术文章

本文共 1144 字,大约阅读时间需要 3 分钟。

1、issues

在这里插入图片描述

在使用这个组件的时候同样遇到了这个问题,也就是纵向滑动的时候会触发到tab切换事件,研究过许多办法,都没有解决,最终决定将原有组件的滑动去掉,自己去实现一个滑动切换tab效果。

2、

给相应的标签注册Touch事件,通过触摸事件开始、移动、结束可以自己控制左右滑动间距,去减少上下滑动所带来的误触。

onTouchStart = e => {
this.startX = e.touches[0].clientX; }; onTouchMove = e => {
this.endX = e.touches[0].clientX; }; onTouchEnd = () => {
const {
isCreateShow } = this.state; if (!isCreateShow) {
return; } // 获取滑动范围 if (this.startX > -1 && this.endX > -1) {
const distance = Math.abs(this.startX - this.endX); if (distance > 120) {
const {
initialPage } = this.state; if (this.startX > this.endX) {
if (initialPage !== 3) {
const newPage = initialPage + 1; this.setState({
initialPage: newPage, }); this.handleTabChange('', newPage); } } else if (initialPage !== 0) {
const newPage = initialPage - 1; this.setState({
initialPage: newPage, }); this.handleTabChange('', newPage); } } } this.startX = -1; this.endX = -1; };

在这里插入图片描述

转载地址:https://blog.csdn.net/weixin_45416217/article/details/115478752 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:JavaScript函数参数到底是按值传递还是引用传递?
下一篇:基于HTTP用Ajax解决的问题

发表评论

最新留言

感谢大佬
[***.8.128.20]2024年03月22日 21时54分37秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章