el-cascader 级联选择器清空初始化

解决方案

判断输入框为空值之后做以下操作恢复到初始化状态:

 

this.$refs.myCascader.$refs.panel.checkedValue = []; // 清空选中值

this.$refs.myCascader.$refs.panel.clearCheckedNodes(); // 清空级联选择器选中状态

this.$refs.myCascader.$refs.panel.activePath = []; // 清除高亮

完整代码:

<el-cascader
    v-model="value"
    :options="options"
    clearable
    ref="myCascader"
    @change="handleChange">
</el-cascader>
 
 
data() {
    return {
        value: [],
        options: [
            {
                value: 'systerm',
                label: '系统管理',
                children: [
                    {
                        value: 'user',
                        label: '用户管理',
                        children: [
                            {
                                value: 'add',
                                label: '添加'
                            },
                            {
                                value: 'edit',
                                label: '编辑'
                            }
                        ]
                    }
                ]
            },
            {
                value: 'company',
                label: '公司管理',
                children: [
                    {
                        value: 'department',
                        label: '部门管理',
                        children: [
                            {
                                value: 'search',
                                label: '查询'
                            },
                            {
                                value: 'delete',
                                label: '删除'
                            }
                        ]
                    }
                ]
            }
        ],
    }
} 
 
// 级联选择框切换事件
handleChange(data) {
    this.value = data;
    if(this.value && this.value.length == 0) {
        this.$refs.myCascader.$refs.panel.checkedValue = []; // 清空选中值
        this.$refs.myCascader.$refs.panel.clearCheckedNodes(); // 清空级联选择器选中状态
        this.$refs.myCascader.$refs.panel.activePath = []; // 清除高亮
        this.$refs.myCascader.$refs.panel.syncActivePath(); // 初始化(只展示一级节点)
    }
},

 

原文:https://blog.csdn.net/weixin_48353638/article/details/129719128

 

<el-cascader    v-model="value"    :options="options"    clearable    ref="myCascader"    @change="handleChange"></el-cascader>  data() {    return {        value: [],        options: [            {                value: 'systerm',                label: '系统管理',                children: [                    {                        value: 'user',                        label: '用户管理',                        children: [                            {                                value: 'add',                                label: '添加'                            },                            {                                value: 'edit',                                label: '编辑'                            }                        ]                    }                ]            },            {                value: 'company',                label: '公司管理',                children: [                    {                        value: 'department',                        label: '部门管理',                        children: [                            {                                value: 'search',                                label: '查询'                            },                            {                                value: 'delete',                                label: '删除'                            }                        ]                    }                ]            }        ],    }}  // 级联选择框切换事件handleChange(data) {    this.value = data;    if(this.value && this.value.length == 0) {        this.$refs.myCascader.$refs.panel.checkedValue = []; // 清空选中值        this.$refs.myCascader.$refs.panel.clearCheckedNodes(); // 清空级联选择器选中状态        this.$refs.myCascader.$refs.panel.activePath = []; // 清除高亮        this.$refs.myCascader.$refs.panel.syncActivePath(); // 初始化(只展示一级节点)    }},
 
posted @ 2024-10-17 10:07  君子笑而不语  阅读(85)  评论(0编辑  收藏  举报