前言:需要一个级联菜单,点击任意一级就可以进行查询,然后级联菜单收起
根据element文档将checkStrictly设置为true就可以了:
可是问题又来了:1>以下级联菜单只能点击单选框生效 2>级联菜单选中后不消失,只能点击空白处才会消失
而我不需要单选框的出现,点击label直接选中,然后级联菜单消失
方法一:
选中让级联菜单收起:设置每次监听值变化的时候,把 dropDownVisible
属性设置为 false 即可(每次级联菜单的值有变化,就把级联菜单收起)
watch: {
handlerValue() {
if (this.$refs.refHandle) {
this.$refs.refHandle.dropDownVisible = false; //监听值发生变化就关闭它
}
}
},
点击label选中:点击文本就让它自动点击前面的input就可以触发选择。
mounted() {
setInterval(function() {
document.querySelectorAll(".el-cascader-node__label").forEach(el => {
el.onclick = function() {
if (this.previousElementSibling) this.previousElementSibling.click();
};
});
}, 1000);
},
方法一虽然把问题解决了,但是比较消耗性能
方法二:
级联菜单页面上把点击方法暴露出来
点击把值赋给originValue,并让菜单收起
这样问题就解决了