Cascader级联选中任意一级的问题

Element 2.12.0 Cascader级联选中任意一级的问题
为什么级联选择器中,使用:props="{ checkStrictly: true }"就完出现radio单选按钮.但如果把:props="{ checkStrictly: true }"去掉后.就只能选中最后一级.

我想要的效果是:props="{ checkStrictly: true }" 时,不出现radio单选按钮

clipboard.png

阅读 11.4k
3 个回答
.container{
  .el-radio__inner{
    border: 0px;
    background-color:inherit
  }
  .el-radio__input.is-checked .el-radio__inner{
    background:none
  }
  .el-radio{
    height: 100%;
    width: 150px;
    position: absolute;
  }
}

我是这么想的
既然改不了js代码,那我们来改改样式。
第一要处理掉前面的 选择圈。前两个样式是修改的。实际上只是通过样式调整,样式上隐藏了一下

然后我发现点击label无法选中,那么我这是就想要扩大radioBox的点击区域,所以有了第三个css 调整width height以及定位

注意样式要在组件里实现,不要影响全局哦 加scoped 或者外层带上当前组件的class

其实也比较简单,样式就那样了,对数据进行处理就行了

mounted() {

setInterval(function() {
  document.querySelectorAll(".el-cascader-node__label").forEach(el => {
    el.onclick = function() {
      if (this.previousElementSibling) this.previousElementSibling.click();
    };
  });
}, 1000);

}

这个可以实现点击label 选中数据问题。可以不用扩大radioBox的点击区域更好。


但是我这里有一个更恶心的问题:你们有解决方案嘛。
当在鼠标移动到“组件”位置触发子菜单后,再移动到“指南”位置,让“组件”的子菜单收起,如此反复都可以呢??“指南”主菜单下是没有子菜单的。。。

图片描述

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题