2 回答

TA貢獻1801條經(jīng)驗 獲得超8個贊
那么讓我們從正確完成的事情開始:
您的組合框已正確地 v 建模為您的值數(shù)據(jù)變量。
您在 save() 方法中正確引用了數(shù)據(jù)變量。
但是,對于組合框,默認行為是 v-model 變量不會實際更新,直到您失去對輸入的關(guān)注。如果您嘗試使用上面的代碼,在組合框中寫一些東西,然后單擊/跳出它,然后單擊保存,它應(yīng)該會按您預(yù)期的那樣工作。
為了讓它自動工作,我們實際上可以通過使用 blur 方法在 save() 中失去組合框的焦點。
首先,將 ref 添加到您的組合框。然后,調(diào)用這個 ref 的 blur 方法作為你在保存函數(shù)中做的第一件事。最后,我們需要使用 nextTick 來確保該值已完全更新,然后再嘗試對其進行 console.log。代碼的更新部分如下所示:
<v-container>
<v-combobox v-model="value" ref="myComboBox" label="write"></v-combobox>
</v-container>
...
save() {
this.$refs["myComboBox"].blur();
this.$nextTick(() => {
console.log(this.value);
this.addDialog = false;
});
}

TA貢獻1802條經(jīng)驗 獲得超4個贊
你可以只使用 :search-input.sync 標簽而不是 v-model。在你的情況下:
<v-combobox :search-input.sync="value" label="write"></v-combobox>
就這樣
添加回答
舉報