el-tree失去焦点丢失节点背景色

我遇到的丢失背景色一般都是冲突导致的
1.点击事件冲突
在这里插入图片描述
这个是我写的,但是点击后总是丢失背景色,原因是因为出发了两次点击,一个是当前节点的handleNodeClick,还有一个是onclick,存在冲突导致的
2.驱动tree 高亮冲突$

	// 监听路由 驱动tree 高亮
'$route.params.node_key': {
  handler: function (newVal, oldVal) {
    console.log('tree node_key', newVal)
    newVal && this.$refs.tree.setCurrentKey(newVal)
    if (newVal == '1-4') {
      // 主站
      this.$emit('singStatus', 4)
    }
  },
  immediate: true,
  deep: true
},
在需要点击按钮让tree高亮显示,这种方法因为值可能是null导致你的样式节点丢失
解决: newVal && this.$refs.tree.setCurrentKey(newVal)   使用&& 或 ?.来进行为空判断

3.背景色设置,高亮显示

// tree默认背景色
::v-deep .el-tree-node {
  background: #001529;
}
// tree内容颜色
::v-deep .el-tree {
  color: #fff;
}
// tree移动上的背景颜色
::v-deep .el-tree-node__content {
  &:hover {
    background: #22a1cd;
  }
}
// tree选中后的背景色
::v-deep {
  .el-tree-node.is-current > .el-tree-node__content {
    background: #22a1cd !important;
  }
}
// 收缩展开后的背景色
::v-deep .el-tree-node:focus > .el-tree-node__content {
  background: #22a1cd !important;
}

提示:::v-deep是vue3.0推荐使用的,/deep/ 与::v-deep都是深度修改组件样式,可能会影响到其它页面组件的样式,慎用,同样的还有一个 >>> 样式穿透
弹框设置取消,确定的样式
.el-radio-button >>> .el-radio-button__inner {
border-radius: 4px !important;
}
这几个都是深度修改,在(预处理器)sass,less,stylus中无法识别 >>>
记录学习

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值