youzan / vant

A lightweight, customizable Vue UI library for mobile web apps.
https://vant.pro/vant/
MIT License
23.06k stars 9.47k forks source link

vue3使用van-tabs组件使用scrollspy属性滚动后会再次向上滚动一下 #12653

Open shangcj1992 opened 5 months ago

shangcj1992 commented 5 months ago

重现链接

https://github.com/youzan/vant/assets/33414734/83ccd119-ed6f-44d9-ad5e-6ba1d373175b

Vant 版本

4.7.3

描述一下你遇到的问题。

在使用vant-tabs组件时。安卓正常。在ios 12和13机器中。切换tab。会导致定位不准确。会向上切换一级activeName。比如。我切换到下标2应该是第三个tab高亮。bug会直接高亮下标为1的也就是第二个tab高亮了。这是错误的。视频截屏已经能够看得到这个bug的复现形式了。目前我测试出的机型是iphone13 版本号17.3。

重现步骤

切换导航。就能复现

设备/浏览器

Ios 13手机的微信浏览器

shangcj1992 commented 5 months ago

官方文档的案例。在ios13手机中就会复现 `

`
Pentium286 commented 4 months ago

我也遇到了。。。有解决办法吗

erlangera commented 4 months ago

Vant的V2版本也有这个现象,好像是动画造成的,关掉动画duration=0 试试。深层原因可能是动画使用的定时器requestAnimationFrame的平台差异造成的。 @Pentium286 @shangcj1992

Pentium286 commented 4 months ago

Vant的V2版本也有这个现象,好像是动画造成的,关掉动画duration=0 试试。深层原因可能是动画使用的定时器requestAnimationFrame的平台差异造成的。 @Pentium286 @shangcj1992

谢谢,关闭动画就好了。。。

caoyingming commented 3 months ago

我的是滚动导航最后一页内容少于一屏幕时候 导致选中的样式不切换到最后一个 WechatIMG304 已经滚动到最下面了

erlangera commented 3 months ago

10152 看下这个,好像说这个现象是正常的 @caoyingming

zhao-fw commented 1 month ago

Vant的V2版本也有这个现象,好像是动画造成的,关掉动画duration=0 试试。深层原因可能是动画使用的定时器requestAnimationFrame的平台差异造成的。 @Pentium286 @shangcj1992

还有个问题好像是因为计算高度时存在小数,但是scrollTop获取时只能取到整数,导致判断出现问题