問題描述: 通常我們的需求是改變 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; } // 其他共同操作 } }