v-model接收的数据应该是数组,而已数组里的参数必须是number:[0,1,2] 的形式,才能正确显示。数据库里存的"1,2,9",后端返回回来的是字符串所以对数据进行重构,先酱字符串转换为数组,再去遍历,将item的值转换为number,最后重新push。
<template>
<div>
<el-select v-model="value1" multiple placeholder="请选择">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
<br />
{{value1}}
<br />
<el-button @click="btnClick">点击</el-button>
</div>
</template>
<script>
export default {
name: "Vue6",
data(){
return{
// options: [{value: '1',label: 'label1' }, {value: '2',label: 'label2'},
// {value: '3',label: 'label3' }, { value: '4', label: 'label4'},
// {value: '5',label: 'label5' }],
options: [{value: 1,label: 'label1' }, {value: 2,label: 'label2'},
{value: 3,label: 'label3' }, { value: 4, label: 'label4'}],
value1: [],
}
},
methods:{
btnClick(){
let l1= "1,4";
// this.value1 = l1.split(',')
this.value1 = this.getLstInteger(l1);
},
getLstInteger(str){
let lStrTemp = [];
str.split(',').map(u=>{lStrTemp.push(parseInt(u))});
return lStrTemp;
}
}
}
</script>