Vue.js 如何为自定义Vuetify输入处理模糊和输入keyup事件?

Vue.js 如何为自定义Vuetify输入处理模糊和输入keyup事件?,vue.js,vuetify.js,Vue.js,Vuetify.js,我有一个自定义的“原地编辑”Vuetify文本输入的添加情况。我注意到,在输入键的keyup上,有两个请求被发送到我的后端以更新字段。我知道是什么导致了这个问题,只是不知道如何解决它 我有一个文本字段: 如您所见,我同时触发了@blur和@keyup.enter.native事件来更新文本字段。更新字段的方法如下所示: handleUpdateItem(e){ this.localValue=e.target.value; this.active=false; this.$emit('han

我有一个自定义的“原地编辑”Vuetify文本输入的添加情况。我注意到,在输入键的keyup上,有两个请求被发送到我的后端以更新字段。我知道是什么导致了这个问题,只是不知道如何解决它

我有一个文本字段:


如您所见,我同时触发了
@blur
@keyup.enter.native
事件来更新文本字段。更新字段的方法如下所示:

handleUpdateItem(e){
this.localValue=e.target.value;
this.active=false;
this.$emit('handle-update-item',this.localValue);
//if(e.type==='keyup'){this.$refs[this.uniqueIdentifier].blur();}
//如果(e.type=='keyup'){this.active=false;}
}
注释掉该方法的最后两行是我的尝试,目的是在单击enter时“停用”输入,但是由于第一行随后正在运行
.blur()
,因此文本字段将再次运行此函数。第二行的输入中仍然有闪烁的光标,因此它也不是真正的“停用”


最终,我要寻找的是一种允许用户按enter键或在输入之外单击以触发请求(显然不会触发两次)并停用输入的方法。有人有什么建议吗?

如果我理解正确,您希望在输入被勾选/点击时发出本地值,或者在按下enter键但不在emits上双击时发出本地值

如果按下enter键,我们需要通过编程取消聚焦,这将触发模糊侦听器。 如果输入未聚焦(使用外部单击或tab键或上述未聚焦),则我们需要发出值


handleUpdateItem(e){
this.localValue=e.target.value;
this.active=false;
this.$emit('handle-update-item',this.localValue);
}