【发布时间】:2020-09-10 18:12:57
【问题描述】:
我有一个 Vuetify 组合框,它在保存时会调用 api 来存储所选或输入的值。但是,在更新此值时,如果直接单击保存按钮而不取消选择组合框,则会再次存储先前存储的值,而不是新值。只有当我手动取消选择该框或按 Enter 时,才会存储正确的值。我环顾四周,发现某些对其他人有用的修复程序,例如 .blur() 和 .$nextTick,但它们似乎对我不起作用(我可能错误地实现了它们)。这是我所拥有的:
组合框:
<v-combobox
:items="suggestions"
v-model="editedItem.field_label"
label="Label"
outlined
dense
ref = "comboBox"
></v-combobox>
保存按钮:
<v-btn color="blue darken-1" text @click="save"> Save</v-btn>
保存功能:
save() {
this.$refs.comboBox.$emit("blur")
this.$nextTick(() => {
const device_field = {
...this.editedItem,
};
device_field_api
.updateDeviceField(device_field, this.device_id)
.then((r) => {
//Various logging items
);
})
.finally(this.initialize())
.catch((e) => {
//Error catching
);
});
});
}
【问题讨论】:
-
你能提供一些关于数据属性的小提琴或更多信息吗?
-
一切正常。
device_field在您尝试登录时始终会更新。也许它与您如何获取和/或如何存储有关,或者完全与其他事情有关。您可以创建fiddle,以便我们更好地帮助您。
标签: vue.js combobox vuetify.js