element plus多选框勾选后关闭弹框在点进来依然有勾选状态,我需要下次打开弹窗清空所有状态
时间: 2024-02-23 20:03:31 浏览: 122
您可以使用 Element Plus 中的 `ElCheckboxGroup` 和 `ElCheckbox` 组件来实现多选框的功能。当多选框被勾选时,将其选中的值存储到 localStorage 中,当弹窗关闭时,将 localStorage 中的状态清空。下次打开弹窗时,检查 localStorage 中是否有存储状态,如果有,则将多选框的选项设置为存储的状态。
以下是示例代码:
```vue
<template>
<div>
<el-checkbox-group v-model="checkedValues" @change="handleCheckboxChange">
<el-checkbox label="选项一"></el-checkbox>
<el-checkbox label="选项二"></el-checkbox>
<el-checkbox label="选项三"></el-checkbox>
</el-checkbox-group>
</div>
</template>
<script>
export default {
data() {
return {
checkedValues: [],
};
},
methods: {
handleCheckboxChange(val) {
localStorage.setItem('checkedValues', JSON.stringify(val));
},
closeDialog() {
localStorage.removeItem('checkedValues');
},
},
mounted() {
const storedCheckedValues = localStorage.getItem('checkedValues');
if (storedCheckedValues !== null) {
this.checkedValues = JSON.parse(storedCheckedValues);
}
},
};
</script>
```
当多选框的选中状态改变时,将其选中的值存储到 localStorage 中。在弹窗关闭时,调用 `closeDialog` 方法将 localStorage 中存储的状态清空。在组件的 `mounted` 钩子函数中,检查 localStorage 中是否有存储状态,如果有,则将多选框的选项设置为存储的状态。
阅读全文