Element-UI級聯選擇器Cascader,經過v-model保存選擇項的值,數據類型為數組,數組元素為所選不一樣級別選項的值。
html部分:
<el-cascader v-model="editForm.goods_cat" :options="cateList" :props="props" @change="handleCateChange"> </el-cascader>
script部分:
data() { return { // 添加商品表單數據 editForm: { goods_name: '', goods_price: 0, goods_weight: 0, goods_number: 0, goods_cat: [], pics: [], attrs: [], goods_introduce: '' }, // 級聯選擇器的數據源 cateList: [] } } ...... created() { // 設置級聯選擇器數據源 this.cateList = this.getCateList(); // 設置級聯選擇器綁定值 const tempArray = res.data.goods_cat.split(','); // 這里必須從新賦值為空數組,再賦值,不然v-model不能實現默認值回顯 this.editForm.goods_cat = []; tempArray.forEach(item => { // item - 0是把數據類型轉換為數字,以與cateList 數據類型一致,不然不能正確回顯默認值 this.editForm.goods_cat.push(item - 0); }); }
代碼中實現了默認值回顯,其中,代碼this.editForm.goods_cat = []; 很關鍵,估計與Vue生命周期及組件解析和二次渲染等有關,或者就是一個bug。