element级联选择器父子不关联,点击子级父级禁用,点击父级子级禁用,但是要求点击子级时对应父级有样式标注

项目场景:

要求对品类进行分级展示,父子级互不关联,点击父级,子级不可选,点击子级,父级不可选


问题描述

element级联选择器中父子不关联属性:props="{ checkStrictly: true }",设置后符合功能逻辑,但是要求样式上面实现点击子级父级框上有横岗标注,如图所示,父子级为互斥状态

 


解决方案:

可观察到点击子级时,在元素中,父级自动添加了类名,取消即消失,所以可以通过控制该类名进行样式调整

 

.in-checked-path .el-checkbox__input.is-disabled .el-checkbox__inner::before {
                content: "";
                position: absolute;
                display: block;
                background-color: #000;
                height: 2px;
                transform: scale(0.5);
                left: 0;
                right: 0;
                top: 5px;
            }

补充

父子级互斥的禁用逻辑如下:

 // 弹框级联交互
    changeCasCadar(value) {
    if(this.form.Category_Brand == 'Category') {
       if(value.length > 0) {
        const checkedNodes = this.$refs['cascaderDialog'].getCheckedNodes()
        console.log("checkedNodes",checkedNodes)
        if(checkedNodes[0].level == 1) {
          Options.selectCategoryOptions.forEach( item => {
          item.children.forEach( v => {
            this.$set(v,'disabled',true)
          } )
          } )
        } else {
          Options.selectCategoryOptions.forEach( item => {
          this.$set(item,'disabled',true)
          })
        }
      } 
      else {
        Options.selectCategoryOptions.forEach( item => {
          this.$set(item,'disabled',false)
          item.children.forEach( v => {
            this.$set(v,'disabled',false)
          } )
          } )
    }
   }
 },

记得清空也是用以上逻辑

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值