鍍金池/ 問答/Linux  HTML/ Vue2.x 三級聯(lián)動異步賦值

Vue2.x 三級聯(lián)動異步賦值

一個類似省市區(qū)三級聯(lián)動的模型,我通過watch監(jiān)聽值的變化來做到三級聯(lián)動的內(nèi)容更新。


  watch: {
    item1: function(val, oldVal) {
      this.$refs.form.validateField("item_id");
      querysByParam({ parentSid: val, itemStatus: 1 }).then(res => {
        this.item2 = "";
        this.itemData2 = res.data;
      });
    },
    item2: function(val, oldVal) {
      querysByParam({ parentSid: val, itemStatus: 1 }).then(res => {
        this.item3 = "";
        this.itemData3 = res.data;
      });
    }
  },

現(xiàn)在,以上都是沒有任何問題的。
但是,給出item1,item2,item3的值并賦值進(jìn)三級聯(lián)動中,因?yàn)槭钱惒降?,并不知道這個監(jiān)聽是否執(zhí)行完畢了,無法賦值~

官網(wǎng)有個

vm.$watch('a', callback, {
  immediate: true
})
// 立即以 `a` 的當(dāng)前值觸發(fā)回調(diào)

但是,這個也不會有返回值告訴我是否執(zhí)行成功,該怎么判斷怎么賦值

回答
編輯回答
法克魷

把異步變同步,用async+await

2017年6月12日 13:32