問題描述: 通常我們的需求是改變 select 的選項才會觸發 change 事件,但是意料之外,頁面初始化的時候也會觸發 change 事件。
應用場景:例如新增/編輯頁,頁面有個二級聯動的下拉,eg: xx 省、xx 市。省與市都有值的情況下編輯省就會清空市,但是進編輯頁的時候,理想情況下,省和市都應該有值。但是由於編輯省的時候change事件中將市給清空了,而進編輯頁初始化的時候又會默認調change事件,所以進編輯頁的時候市的值就為空了。
期望:進入編輯頁的時候省與市都有值,編輯省的時候將市清空。
解決方法:設置一個標志,根據標志決定執行那些方法。若頁面初始化時不需要調用市的下拉列表,則可以將change時間單獨寫入一個方法,在另一個方法中進行調用。
data() {
return {
changeFlag: false
}
},
methods: {
changeDwmc(val) {
if (this.changeFlag) {
// 修改選項時操作
this.form.city_id = '';
} else {
// 進入頁面時,頁面初始化
this.changeFlag = true;
}
// 其他共同操作
}
}
