Vue v-model输入改变移动铬不起作用

eby*_*atu 7 keyboard-events vue.js v-model

如果我打开https://vuejs.org/v2/guide/forms.html#Text并编辑文本 - 对移动Chrome中的文本输入没有影响.@keyup @input @keypress - 当我打字时,v-model不会改变

<input v-model="message" @keyup="log" placeholder="Edit">
<p>Edited: {{ message }}</p>
Run Code Online (Sandbox Code Playgroud)

我该如何解决?我需要在输入时获得输入值(@keyup @input)

bbs*_*nbb 6

休斯顿我们可能有问题.Vue似乎没有按照它在锡上所做的那样做.V模型应该在输入时更新,但是如果我们分解v模型并明确地编码@input,它在移动设备上工作正常.(两个输入在chrome桌面中都正常运行)

要在手机上显示,问题可以在... https://jsbin.com/juzakis/1上看到

看到这个github问题.

function doIt(){
    var vm = new Vue({
        el : '#vueRoot',
        data : {message : '',message1 : ''}
    })
}
doIt();
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script>
<div id='vueRoot'>
<h1>v-model</h1>
  <div>
    <input type='text'
      v-model='message'
        >
    {{message}}
  </div>
  <h1>Decomposed</h1>
  <div>
    <input type='text'
        :value='message1'
        @input='evt=>message1=evt.target.value'
        >
    {{message1}}
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

  • [我提交了这个问题](https://github.com/vuejs/vue/issues/9299)在github上,并在不久后关闭。显然,并非所有设备都受到影响。在这里发现自己的任何人都可能想评论已解决的问题。在办公室里,这个问题出现在5个被测试的android系统中,其中5个包括银河S4 =&gt; S9。 (2认同)

rom*_*ish 5

我尝试了在互联网上可以找到的所有解决方案,但没有一个对我有用。最后我想出了这个,终于可以在android上运行了!

技巧是使用compositionupdate事件:

 <input type="text" ... v-model="myinputbox" @compositionupdate="compositionUpdate($event)">
    
    ......
    ......

methods: {
    compositionUpdate: function(event)
    {
        this.myinputbox = event.data;
    },
}
Run Code Online (Sandbox Code Playgroud)