vue项目通讯录_Vue实现类似通讯录功能(下)

本文详细介绍了如何在Vue项目中实现通讯录的字母索引滚动监听功能。通过监听touch事件,计算手指滑动位置与字母的高度差,从而确定当前选中的字母,并通过change事件将选中字母传递给父组件。同时,文章还讨论了touch事件的相关属性和计算字母索引的逻辑。
摘要由CSDN通过智能技术生成

字母索引滚动监听

修改字母索引组件,绑定三个touch事件,分别是touchStart、touchMove、touchEnd。

f8d91f36080e

定义三个touch事件

只有当touchstart之后,才执行touchmove里的内容,所以在data里定义一个标识位touchStatus,默认值为false,

当手指触摸的时候,标识位的值为true,结束滑动的时候,标识位的值为false。只有当标识位的值为true的时候,才去执行move事件的处理。

然后要做的一件事就是,当我们在字母索引处上下滑动的时候,现在所在的位置是第几个字母。

主要是思路是:

1.获得A字母距离顶部的高度

2.滑动的时候看下当前手指位置距离顶部的高度

3.前两个做一个差值,算出当前手指位置和A字母顶部的差值,

然后除以每个字母的高度,就能算出当前是第几个字母了

4.然后取这个字母触发change事件给外部

如果想根据下标,找到下标对应的字母的话,首先得有个数组存储字母的列表。但是现在cities是个对象,并不是个数组,所以我们需要一个数组。

在computed计算属性中定义一个letters

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值