element-ui elemant-plus el-tree展开按钮变成加减号

效果:

css 直接加上就可以用了,如果要加在公共样式里面的话把 ::v-deep 都去掉就可以了:

css 复制代码
.el-tree ::v-deep .el-tree-node__expand-icon.expanded {
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
}
//有子节点 且未展开
.el-tree ::v-deep .el-icon-caret-right:before {
  background: url("../../assets/img/add.png") no-repeat 0;
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  font-size: 16px;
  background-size: 16px;
}
//有子节点 且已展开
.el-tree
  ::v-deep
  .el-tree-node__expand-icon.expanded.el-icon-caret-right:before {
  background: url("../../assets/img/del.png") no-repeat 0;
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  font-size: 16px;
  background-size: 16px;
}
//没有子节点
.el-tree ::v-deep .el-tree-node__expand-icon.is-leaf::before {
  background: url("../../assets/img/del.png") no-repeat 0;
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  font-size: 16px;
  background-size: 16px;
}

加减号icon图片:

用vue3+elementPlus的时候上面样式有一点问题,稍微改了一下:

css 复制代码
:deep(.el-tree-node__content > .el-tree-node__expand-icon) {
  width: 14px;
}
.el-tree :deep(.el-tree-node__expand-icon.expanded) {
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
}
//有子节点 且未展开
.el-tree :deep(.el-tree-node__expand-icon:before) {
  background: url("../../../assets/images/add.png") no-repeat 0;
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  font-size: 16px;
  background-size: 16px;
}
:deep(.el-icon svg) {
  display: none;
}
//有子节点 且已展开
.el-tree :deep(.el-tree-node__expand-icon.expanded:before) {
  background: url("../../../assets/images/del.png") no-repeat 0;
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  font-size: 16px;
  background-size: 16px;
}
//没有子节点
.el-tree :deep(.el-tree-node__expand-icon.is-leaf::before) {
  background: none;
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  font-size: 16px;
  background-size: 16px;
}
相关推荐
jiayong2325 分钟前
Vue 3 面试题 - 状态管理与数据流
前端·javascript·vue.js
VX:Fegn08959 小时前
计算机毕业设计|基于ssm + vue超市管理系统(源码+数据库+文档)
前端·数据库·vue.js·spring boot·后端·课程设计
Yolanda9410 小时前
【项目经验】vue h5移动端禁止缩放
前端·javascript·vue.js
VX:Fegn089511 小时前
计算机毕业设计|基于springboot + vue酒店管理系统(源码+数据库+文档)
vue.js·spring boot·课程设计
Irene199112 小时前
Vue3 中使用的命名规则 和 实际开发命名规范总结
vue.js·命名规范
Amumu1213813 小时前
Vue脚手架(二)
前端·javascript·vue.js
比特森林探险记14 小时前
组件通信 与 ⏳ 生命周期
前端·javascript·vue.js
海绵宝龙15 小时前
Vue中nextTick
前端·javascript·vue.js
qq_124987075316 小时前
基于springboot的会议室预订系统设计与实现(源码+论文+部署+安装)
java·vue.js·spring boot·后端·信息可视化·毕业设计·计算机毕业设计
ttod_qzstudio18 小时前
Vue 3 中 toRaw 的取舍之道:以 Babylon.js 3D 开发为例
vue.js·babylonjs