我有一个input
正在监视其模型属性。问题是每次按键时不会调用 watch 方法铬 安卓设备。如果我点击输入文本,就会调用它。
过去确实有效,但我不知道发生了什么。
在Chrome 桌面版可以正常使用(那就是watch
for text
每次按键时都会被调用)。
Input:
<input id="input-message" ref="input-message" :disabled="disabled"
@focus="$emit('focus')" @keyup.enter="sendMessage"
v-model="text" type="text" placeholder="Start typing..."
class="form-control">
Watch:
watch: {
disabled: function(val) {
if (!val) {
this.$nextTick(() => {
this.$refs["input-message"].focus();
});
}
},
text: function(val) {
var mode = this.micMode;
if (this.userAgent !== "ios") {
let isEmpty = val.length === 0;
if (mode === 1 && !isEmpty) {
this.micMode = 0;
} else if (mode === 0 && isEmpty) {
this.micMode = 1;
}
}
}
},
对于需要IME https://en.wikipedia.org/wiki/Input_method(中文、日文、韩文等)、
您会注意到 v-model 在 IME 合成期间不会更新。
如果您也想满足这些更新,请使用输入事件
反而。
https://v2.vuejs.org/v2/guide/forms.html#vmodel-ime-tip https://v2.vuejs.org/v2/guide/forms.html#vmodel-ime-tip
你可以改变v-model="model"
to :value="text" @input="text = $event.target.value"
并且观察者应该按预期被触发
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)