didi / mand-mobile

💰 A mobile UI toolkit, based on Vue.js 2, designed for financial scenarios.
https://didi.github.io/mand-mobile
Apache License 2.0
3.46k stars 772 forks source link

[InputItem]输入过快导致光标乱跳 #322

Closed MeagFu closed 5 years ago

MeagFu commented 5 years ago

Mand Mobile Version

OS Version & Browser Version

Node Version, Package Management Tool

Recurring Links

Recurring Steps

使用md-input-item组件,设置type="bankCard" 输入过快导致光标乱跳

看了代码,可能是下面的方法导致的 setCursorsPosition 在cursor.js文件

Expectant Behaviors

输入过快也不要乱跳光标

Actual Behaviors

输入过快,光标可能跳到前面

xxyan0205 commented 5 years ago

是否是在pc浏览器?

MeagFu commented 5 years ago

pc浏览器和手机都会出现这样的问题

xxyan0205 commented 5 years ago

具体什么手机,用的什么浏览器

MeagFu commented 5 years ago

是否是在pc浏览器?

pc浏览器和手机都会出现这样的问题

xxyan0205 commented 5 years ago

之前为了做兼容,内部setCursorsPosition 加了setTimeout,导致某些情况下输入过快会出现上述问题,这个我们要想一下优化手段

MeagFu commented 5 years ago

具体什么手机,用的什么浏览器

chrome最新版,这个问题很好复现,比如你同时用几个手指放在键盘下,同时按下,基本就能出现问题

MeagFu commented 5 years ago

之前为了做兼容,内部setCursorsPosition 加了setTimeout,导致某些情况下输入过快会出现上述问题,这个我们要想一下优化手段

对的,我看了你们代码,应该就是setTimeout引起的。

xxyan0205 commented 5 years ago

目前还没找到好的办法,如果有好的思路或方案也欢迎随时PR。

xxyan0205 commented 5 years ago

@MeagFu 把你复现问题用到的手机机型及浏览器信息具体描述一下

MeagFu commented 5 years ago

手机:vivo 1724 chrome:71.0.3578.98

使用md-input-item组件,设置type="bankCard"

手机应该是性能不好的就行。 输入的时候一定要快,几个键同时按下