Vue+ElementUI使用el-select multiple 单选或多选后点击编辑后回显
时间: 2024-01-11 17:02:46 浏览: 179
如果你使用了el-select的multiple属性进行单选或多选,然后想要实现点击编辑后回显的功能,可以通过以下步骤实现:
1. 给el-select绑定一个v-model,用来存储选择的值。
2. 在点击编辑按钮后,将v-model中的值赋给一个临时变量,用来记录编辑前的选择结果。
3. 将el-select的multiple属性设置为false,变为单选状态。
4. 将临时变量的值赋给el-select的v-model,将选择结果回显到el-select中。
5. 编辑完成后,将el-select的v-model的值赋给临时变量,并将multiple属性设置回原来的状态。
下面是一个简单的示例代码:
```html
<template>
<div>
<el-select v-model="selected" multiple>
<el-option label="Option 1" value="1"></el-option>
<el-option label="Option 2" value="2"></el-option>
<el-option label="Option 3" value="3"></el-option>
</el-select>
<el-button @click="edit">编辑</el-button>
</div>
</template>
<script>
export default {
data() {
return {
selected: [], // 存储选择结果的数组
tempSelected: [] // 临时存储编辑前的选择结果的数组
}
},
methods: {
edit() {
// 记录编辑前的选择结果
this.tempSelected = [...this.selected]
// 将multiple属性设置为单选
this.$refs.select.multiple = false
// 将选择结果回显到el-select中
this.selected = this.tempSelected[0]
},
done() {
// 将编辑后的结果赋给临时变量
this.tempSelected[0] = this.selected
// 将multiple属性设置回原来的状态
this.$refs.select.multiple = true
}
}
}
</script>
```
在上面的代码中,我们在el-select上加了一个ref属性,用来在代码中获取el-select的DOM元素,然后在edit方法中,将el-select的multiple属性设置为false,变为单选状态,并将临时变量的值赋给el-select的v-model,实现了回显选择结果的功能。在done方法中,将编辑后的结果赋给临时变量,并将multiple属性设置回原来的状态。
阅读全文