最近工作需求是 el-Cascader 级联多选框 任意选择一项,自动关闭面板? 来总结记录下。
element-ui的关闭面板方式👇
this.$refs.CascaderRef.dropDownVisible = false
element-plus的关闭面板方式👇
vue3.0写法
CascaderRef.value.togglePopperVisible()
//如果面板没有关闭,则手动关闭
if (CascaderRef.value.popperVisible) {
CascaderRef.value.togglePopperVisible()
}
vue2.0写法
this.$refs.CascaderRef.togglePopperVisible()
//如果面板没有关闭,则手动关闭
if (CascaderRef.value.popperVisible) {
CascaderRef.value.togglePopperVisible()
}
代码案例如下🌰
html代码:
<template>
<el-cascader ref="CascaderRef" @change="handleChange"></el-cascader>
</template>
js代码:
setup(props, {emit}){
const CascaderRef = ref<any>(null);
const handleChange = (newVal: number[]): void => {
//选择任意一级选项,关闭面板
CascaderRef.value.togglePopperVisible();
//如果面板没有关闭,则手动关闭
if (CascaderRef.value.popperVisible) {
CascaderRef.value.togglePopperVisible();
}
};
return { handleChange, CascaderRef};
}