elementUI的el-select传递item对象或其他参数的3种方法
element
A Vue.js 2.0 UI Toolkit for Web
项目地址:https://gitcode.com/gh_mirrors/eleme/element
免费下载资源
·
方法1 :value=“item” 绑定对象
只要:value
绑定item对象就可以
value-key="value"
必须是item里的一个属性,绑定值为对象类型时必填
<el-select v-model="value" placeholder="请选择" value-key="value" @change="changeSelect">
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item"></el-option>
</el-select>
data() {
return {
options: [{
value: '选项1',
label: '黄金糕'
}, {
value: '选项2',
label: '双皮奶'
}, {
value: '选项3',
label: '蚵仔煎'
}, {
value: '选项4',
label: '龙须面'
}, {
value: '选项5',
label: '北京烤鸭'
}],
value: ''
}
},
methods: {
changeSelect(val) {
console.log(val);// item对象
}
}
方法2 用find找到选中数据的item
有时候v-modal绑定的是表格的scope.row属性,以及可能会被其他因素影响。用:value="item"
可能会出问题,这种情况就比较适合用find
了,把选中值和数据列表做对比,找出选中的那个item
<template>
<el-select v-model="selectedValue" placeholder="请选择">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</template>
<script>
export default {
data() {
return {
selectedValue: null,
options: [
{ label: '选项1', value: 'option1', additionalData: '数据1' },
{ label: '选项2', value: 'option2', additionalData: '数据2' },
// ...更多选项
]
};
},
// 可以用watch监听,也可以用@change
watch: {
selectedValue(newValue) {
const selectedItem = this.options.find(item => item.value === newValue);
console.log(selectedItem); // 包含所有数据的选中项
}
}
};
</script>
方法3:给el-option绑定@click.native
el-select
取不到item,但是我们的el-option
可以,用@click.native
绑定即可传递item,这种方法最便捷,也不会有影响绑定值的问题
<el-select v-model="value" placeholder="请选择">
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item" @click.native="changeSelect(item)"></el-option>
</el-select>
data() {
return {
options: [{
value: '选项1',
label: '黄金糕'
}, {
value: '选项2',
label: '双皮奶'
}, {
value: '选项3',
label: '蚵仔煎'
}, {
value: '选项4',
label: '龙须面'
}, {
value: '选项5',
label: '北京烤鸭'
}],
value: ''
}
},
methods: {
changeSelect(val) {
console.log(val);// item对象
}
}
GitHub 加速计划 / eleme / element
54.06 K
14.63 K
下载
A Vue.js 2.0 UI Toolkit for Web
最近提交(Master分支:3 个月前 )
c345bb45
7 个月前
a07f3a59
* Update transition.md
* Update table.md
* Update transition.md
* Update table.md
* Update transition.md
* Update table.md
* Update table.md
* Update transition.md
* Update popover.md 7 个月前
更多推荐
已为社区贡献7条内容
所有评论(0)