ios自带输入法的bug?

发现一个非常的神奇的问题
在ios里的一个vue的单页应用里面,需要监听input的值
代码:

watch: {
    query: function (newval, oldval) {
        console.log(this.state + ' new: ' + newval + ' old: ' + oldval)
        this.state += 1
    }
 }
 data () {
     query: '',
     state: 1
 }

如果用Ios的原生键盘选择一个字,比如选择下图中的我:

clipboard.png

会log出如下信息:

1 new: 我 old: 
2 new:  old: 我
3 new: 我 old: 

明明我就是输入了一个字啊。。。触发了三次呢。。
有没有人遇到过这个问题,求解呢

补充,使用@input才会,使用v-model不会,可以用iphone试一下 --> http://jsrun.net/rtd/WbiKp
代码可以看这里 --> http://jsrun.net/fbiKp

阅读 3.8k
1 个回答

w,o,Enter,所以三次?
建议在watch里面根据输入字符的长度来触发你的条件看看。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题