vue下拉框多选,动态请求多个选中的数据

 <el-form-item label="Business Unit">
      <el-select v-model="UserForm.BusinessUnitIds" placeholder="" multiple style="width:100%" @change="change()" >
      	<el-option v-for="item in BusinessUnitList"   :key="item.Code"   :label="item.Value"   :value="item.Id"  ></el-option>
       </el-select>
   </el-form-item>
   // Business Unit发生改变数组重新加载
   <el-form-item label="Product Type">
       <el-select v-model="UserForm.ProductTypeIds" placeholder="" multiple style="width:100%">
       <el-option v-for="item in ProductTypeList" :key="item.Id" :label="item.Value" :value="item.Id"></el-option>
       </el-select>
   </el-form-item>





data() {
return	{
 UserForm:{
       BusinessUnitIds: [],
   },
 BusinessUnitList: [],
 ProductTypeList: [],
 arr:[]
	}
}


   created() {
            this.getInfo()
            this.SearchSelect("BU", "BU");
        },
 methods:{
	  	 /**
             * 字典查寻
             * @params 字典名称
             * @type 字典类型
             */
            SearchSelect(params, type) {
            this.$store
                .dispatch("description/QueryName", params)
                .then(data => {
                if (type === "BU") {
                    this.BusinessUnitList = data;
                } else if (type === "Product") {
                	
                	// BU发生改变就是push到arr数组中
                    this.arr.push(...data);
                } 
                }).catch(error => {});
            },


            /**
             * @UnitChange BU回调
             */
            change() {
                this.arr = []; // 清空新数组
                const BusinessUnitIds = this.UserForm.BusinessUnitIds;
                const BusinessUnitList = this.BusinessUnitList;
                if (BusinessUnitIds.length > 0) {
                    for (let i = 0; i < BusinessUnitIds.length; i++) {
                        for (let j = 0; j < BusinessUnitList.length; j++) {
                            if(BusinessUnitIds[i] == BusinessUnitList[j].Id) {
                                let Product = `${BusinessUnitList[j].Value}_Product`;
                                this.SearchSelect(Product, "Product");
                            }
                        }
                    }
                } else {
                    this.ProductTypeList = [];
                }
             
            },
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值