<input @keyup="fetchData(0)">
是否可以防止修饰符(Ctrl + Win + Cmd等)在键盘事件中起作用?只是字母和数字。
我的情况:这是一个名称过滤器,当用户键入字母时,名称列表会根据输入的字母进行更新,但是当用户按下ctrl或ctrl + a时,它也被视为键入事件。
答案 0 :(得分:1)
您可以从事件中检查keyCode,并且仅当它是字母或数字时才触发获取数据方法
<input @keyup="onKeyUp($event)">
...
methods: {
conKeyUp(e) {
if ((e.keyCode >= 48 && e.keyCode <= 90) || (e.keyCode >= 96 && e.keyCode <= 105)) {
// a-z or 0-9 or numpad 0 - 9
this.fetchData();
}
},
fetchData() {
// Fetching data from server...
}
}
当字段的值发生如下更改时,另一种方法将触发获取数据:
<input v-model="myModel">
...
data: {
myModel: null
},
watch: {
myModel() {
this.fetchData();
}
},
methods: {
fetchData() {
// Fetching data from server...
}
}