el-select多选 清空拿到清空前的值
时间: 2023-07-13 12:31:43 浏览: 148
多选清空数据表资料
对于 el-select 多选,您可以使用 `@remove-tag` 事件来监听选项被移除的情况,然后将移除的选项存储在一个数组中。在清空 el-select 前,将当前选中的值和移除的值合并到一个数组中,然后在清空后再将其赋值回 el-select。以下是一个示例代码:
```
<template>
<div>
<el-select v-model="selectedValues" multiple @remove-tag="handleRemoveTag" @clear="handleClear">
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</div>
</template>
<script>
export default {
data() {
return {
options: [
{ label: 'Option 1', value: 'option1' },
{ label: 'Option 2', value: 'option2' },
{ label: 'Option 3', value: 'option3' },
],
selectedValues: [],
removedValues: [], // 存储移除的值
};
},
methods: {
handleRemoveTag(value) {
this.removedValues.push(value); // 将移除的值存储在数组中
},
handleClear() {
const previousValues = [...this.selectedValues, ...this.removedValues]; // 合并当前选中的值和移除的值
this.selectedValues = []; // 清空选中的值
this.removedValues = []; // 清空移除的值
console.log(previousValues); // 打印清空前的值
},
},
};
</script>
```
这样,在 el-select 多选清空后,您可以在 `previousValues` 中获取到清空前的值。
阅读全文