ElemeFE / mint-ui

Mobile UI elements for Vue.js
http://mint-ui.github.io/#!/en
MIT License
16.55k stars 3.55k forks source link

[Bug Report] ios中用field,输入一段文字,按住键盘上面的删除,删除完了以后光标会留在一个字符后的位置 #974

Open zwldev opened 7 years ago

zwldev commented 7 years ago

Mint UI version

2.2.7

OS/Browsers version

ios/微信浏览器/safari中都有,uc貌似没有

Vue version

2.3.4

Reproduction Link

https://elemefe.github.io/mint-ui/#/field

Steps to reproduce

输入框中输入一些东西,按住键盘上面的删除按钮即可重现

What is Expected?

光标回到初始位置

What is actually happening?

光标没有回到初始位置,而是在一个字符后的位置

houzihua commented 7 years ago

我试了下,没发现你说的问题

zwldev commented 7 years ago

input-bug.zip 压缩文件是个视频,可以重现 个人项目中已经解决 我的理解是组件中给父组件传值的时候组件中的value其实已经空了,这时候要通知父组件也变空 可以做如下试验,会发现view层展示的已经为空了,但是实际上组件中还是有值的 if (value !== '') { this.$emit('input', value) } else { console.log(this) } /////////////////////////////////////////////////////////////////////////// 最终解决代码如下 setTimeout(() => { this.$emit('input', value) }, 10) ////////////////////////////////////////////////////////////////////////// 饿了么是大厂,希望能提供更好的解决方案