Javascript vue.js+;android键盘-型号上缺少最后键入的单词
我正在尝试调试一个奇怪的问题:Javascript vue.js+;android键盘-型号上缺少最后键入的单词,javascript,android,vue.js,input,dom-events,Javascript,Android,Vue.js,Input,Dom Events,我正在尝试调试一个奇怪的问题: <textarea v-model='val' @input='test'></textarea> <div> {{val}}</div> <div>{{log}}</div>' <script> var app = new Vue({ el: "#app", template: "#template", data: { val:"" ,log:""}, metho
<textarea v-model='val' @input='test'></textarea> <div> {{val}}</div> <div>{{log}}</div>'
<script>
var app = new Vue({
el: "#app", template: "#template", data: { val:"" ,log:""},
methods: {
test() {
this.log += "."
}
}
});
</script>
{{val}}{{log}
var app=新的Vue({
el:#应用程序,模板:#模板,数据:{val:,日志:},
方法:{
测试(){
this.log+=”
}
}
});
在Android上,启用虚拟键盘自动提示时,
val
变量在键入时不会更新,直到用户按下空格键,或单击自动提示的单词,或模糊文本区域。问题主要在于启用自动更正时键入时未触发的输入
事件。这在v-model
中被破坏,因此在这种情况下,基础模型不会更新
解决办法:
v-model
,并直接绑定到keydown
事件
<textarea v-model="text" ref="textarea" autocomplete="off" @keydown="test" ></textarea>
autocorrect=“off”
。这将隐藏键盘上的自动更正,从而解决问题对于仍然遇到此问题的用户,可能不需要绑定到
键下
事件或关闭自动更正。自
v-model="example"
只是语法上的糖,可以扩展到
:value="example" @input="example= $event.target.value"
我在Android和autocorrect上遇到了完全相同的问题,这为我解决了这个问题。这可能是Vue 2的一个bug,因为它在Vue 1中工作得很好。请参见此处的讨论很好!你被描述成同样的问题,但比我好。另见:
:value="example" @input="example= $event.target.value"