原
vue element ui 中 select 设置支持多选,如何给select组件设置默认选中的值

select加载的代码如下
多选加一个multiple
属性即可。
<template>
<el-select size="small" clearable="" multiple v-model="choiseLevels" placeholder="请选择消息等级">
<el-option
v-for="item in msgLevelTagArray"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</template>
<script>
export default {
data() {
return {
msgLevelTagArray: [
{value:1,label:'严重异常'},
{value:2,label:'异常'},
{value:3,label:'警告'},
{value:4,label:'预警'},
{value:5,label:'提醒'},
{value:6,label:'普通'},
{value:7,label:'日常'}
],
choiseLevels:"",
};
},
};
</script>
label绑定两个值的拼接,字符串拼接看这个:
https://www.tnblog.net/notebook/article/details/8140
传递到后台的时候可以用逗号来分割字符串,方便数据库存储
let choiseUserIds = ""
for (let index = 0; index < state.editFromData.responsiblePersonIds.length; index++) {
const userId = state.editFromData.responsiblePersonIds[index];
choiseUserIds= choiseUserIds+userId+","
}
要想默认选中非常简单,直接给绑定的属性设置一下需要选中的值即可
mounted() {
// 设置默认选中
this.choiseLevels = [1, 2]
},
或者直接在属性上面给值也是可以的:
<script>
export default {
data() {
return {
// 这里直接给值也可以默认选中
choiseLevels:[2,3],
};
},
};
</script>
从后台读取出来的是一个字符串里边包含了逗号,我们在前端根据逗号拆分字符串,并且去掉最后一个逗号即可
// 处理多选的选中
const choiseUsers = row.responsiblePersonIds.split(',').slice(0, -1);
state.editFromData.responsiblePersonIds = choiseUsers
欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739。有需要软件开发,或者学习软件技术的朋友可以和我联系~(Q:815170684)
评价
排名
8
文章
231
粉丝
7
评论
7
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:
50010702506256


欢迎加群交流技术