Elementui中的级联选择器应用,每级都是动态加载数据,级数不确定,多的有10级
遇到的问题:回显时输入框没有选中内容
首先我猜测就是for循环中使用每个id请求数据后,响应时间不等,导致回显的级联数据有问题,最终证明猜想正确
解决方法:
使用Promise+async+await
async initdata(){
for(let i = 0;i<data.length;i++){
const real = await this.hanleData()
}
},
hanleData(){
return new Promise((resolve,reject) => {
//请求接口
this.$http.post(参数).then(res => {
//可以增加一下数据处理
resolve()
}).catch(err => {
reject()
})
})
}
以上是代码实例,需要注意的是:for循环中调用方法时使用await,外面必须套一层async的方法,如果initdata()方法中有api请求,那么请把for循环单独提出去,写个方法即可;
当时我就是懒了一下,没有单独写,导致一直不成功,同步没有生效