模板:
<el-select @change="getColumn" v-model="selectedData.id">
<el-option v-for="item in columnList" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select>
数据:
data(){
columnList:[{
id:1,
name:'姓名',
type:1
},{
id:2,
name:'年龄',
type:2
}]
}
需求:
在getColumn方法中,希望能获得选中值的type,但是selectedData.id绑定的值只能是id,不能是对象,所以不能通过把value设置为item的方式传递,有其他解决方案吗?
那你value可以传index,然后方法中this.columnList[index]来调用对象
虽然:value直接绑对象功能上也能实现(我试过),但是不符合语法规范会报红
el-option 的value值直接用item就可
<el-select v-model="selectvalue" @change="getColumn">
<el-option v-for="item in columnList" :key="item.id" :label="item.name" :value="item" />
</el-select>
getColumn(item) {
console.log(item.type)
}