element框架select选择器绑定对象设置

发布于:2025-03-21 ⋅ 阅读:(12) ⋅ 点赞:(0)

select选择器如果绑定value值就是我们所需要的数据时,可直接绑定value值,当我们需要获取value之外的其他值时可绑定对象格式;

select涉及API

参数 说明 类型
model-value / v-model 选中项绑定值 string / number / boolean / object / array
value-key 作为 value 唯一标识的键名,绑定值为对象类型时必填 string

Option涉及API

参数 说明 类型
value 选型的值 string / number / Boolean / object
label 选项的标签,若不设置则默认与value相同 string / number
//vue3
<template>
	<div class="main-container">
		<el-form :model="formData" label-width="80px" inline>
			<el-form-item label="选择类型" prop="name">
				<el-select v-model="selectValue" placeholder="请选择" clearable value-key="value" @change="selectChange">
					<el-option v-for="item in listData" :key="item.id" :label="item.name" :value="item"></el-option>
				</el-select>
			</el-form-item>
			<el-form-item label="类型描述" prop="desc">
				<el-input disabled v-model="formData.desc"></el-input>
			</el-form-item>
		</el-form>
	</div>
</template>

<script setup>
import { ref } from 'vue';
const formData=ref({
	name: null,
	id:null,
	desc:null
});
const selectValue=ref('');
const listData = ref([
	{ id:1, value: '125', name: 'Option1', desc: 'Option1 - 230506'},
	{ id:2, value: '105', name: 'Option2', desc: 'Option2 - 230507'},
	{ id:3, value: '215', name: 'Option3', desc: 'Option3 - 230508'},
	{ id:4, value: '415', name: 'Option4', desc: 'Option4 - 230509'},
])
function selectChange(val){
	if( !val ){
		console.log('val');
		formData.value.name = null;
		formData.value.id = null;
		formData.value.desc = null;
	}else{
		formData.value.name = selectValue.value.name;
		formData.value.id = selectValue.value.id;
		formData.value.desc = selectValue.value.desc;
	}
}
</script>