<el-form>
<!--把 option中 :value="`${attr.id}:${attrValue.id}`" 的数据收集到 ==> attrInfoList中每个对象里面-->
<el-form-item label="平 台 属 性">
<el-form :inline="true" ref="form" label-width="80px" :data="attrInfoList">
<el-form-item :label="attr.attrName" v-for="(attr,index) in attrInfoList" :key="attr.id">
<el-select placeholder="请选择" value="" style="width: 150px" v-model="attr.attrIdAndValueId">
<el-option :label="attrValue.valueName" :value="`${attr.id}:${attrValue.id}`" v-for="(attrValue,index) in attr.attrValueList" :key="attr.id">
</el-option>
</el-select>
</el-form-item>
</el-form>
</el-form-item>
</el-form>
<script>
......
method:{
// 保存 按钮
async saveSku(){
const {attrInfoList,skuInfo,spuSaleAttrList,imageList} = this;
//整理参数 ==> 可以用 forEach,也可以用下面这种
skuInfo.skuAttrValueList = attrInfoList.reduce((prev,item)=>{
if(item.attrIdAndValueId){
const [attrId,valueId] = item.attrIdAndValueId.split(':');
prev.push({attrId,valueId});
}
return prev;
},[]);
// 整理销售属性
skuInfo.skuSaleAttrValueList = spuSaleAttrList.reduce((prev,item)=>{
if(item.saleAttrIdAndSaleAttrValueId){
const [saleAttrId,saleAttrValueId] = item.saleAttrIdAndSaleAttrValueId.split(':');
prev.push({saleAttrId,saleAttrValueId});
}
return prev;
},[]);
// 整理图片列表
skuInfo.skuImageList = imageList.map(item=>{
return{
imaName: item.imgName,
imgUrl: item.imgUrl,
isDefault: item.isDefault,
spuImgId: item.id,
}
})
//发请求
let result = await this.$API.sku.reqAddSku(skuInfo);
if(result.code == 200){
this.$message.success('添加 SKU 成功')
this.$emit('goSpu')
}
},
}
</script>
Vue —— 10、下拉框列表收集两个以上数据
于 2022-05-02 15:24:37 首次发布