u-view的u-select组件除了label和value,传递其他参数

组件除了label和value,还可以传递其他参数,用extra进行传递:

例如在给u-select绑定的array赋值时,extra用来保存每个数据的一个额外属性

<u-select  :list="industryCodeList" @confirm="confirm"></u-select>

其中industryCodeList像这样赋值:

this.myhttp.post('device', '/basic/region/xxxxlist', {
					dictKey: dictKey,
					parentId: parentId
				}).then((res) => {
					if (res.status == 0) {
						var list = [];
						for (var i in res.data) {
							var object = {};
							object.label = res.data[i].dictValue; // 展示label
                            object.value = res.data[i].id; // 用id查询行业小类
							object.extra = res.data[i].dictCode; // 传递额外的参数
							list.push(object);
						}
                        this.industryCodeList = list;
					} else {
						uni.showToast({
							title: res.message,
							icon: 'none'
						});
					}
				});

这样在选项被选中的时候,就可以把label、value、extra三个参数取出来使用了:

confirm(e) {
				this.form.industryCode = JSON.parse(JSON.stringify(e[0])).label;  // 用于页面上实际展示
				this.industryCode = JSON.parse(JSON.stringify(e[0])).value;
				this.industryCodeSubmit = JSON.parse(JSON.stringify(e[0])).extra; // 使用extra额外的传参进行传递
			},

Guess you like

Origin blog.csdn.net/qq_36451496/article/details/119797426