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;
}
相关推荐
宿6746 小时前
vue3-async
前端·javascript·vue.js
Dreams°12312 小时前
【Java后端+Vue前后端分离:内网正常、公网访问异常|5个高频经典踩坑完整复盘】
java·开发语言·vue.js
小蒜学长13 小时前
基于Springboot+Vue的环保行动志愿者招募系统设计与实现(代码+数据库+LW)
java·数据库·vue.js·spring boot·后端
天道kabuto13 小时前
踩坑复盘:为什么在输入框按个回车,页面就偷偷刷新了?
vue.js
吴长建先生14 小时前
Vue.js支付回调页面如何设计才能保障对账准确性?
vue.js
leoZ23114 小时前
第 2 篇:搭建地基——Vue3 + Vite + Tailwind v4 + shadcn-vue
前端·javascript·vue.js·人工智能·目标检测·数据挖掘·语音识别
吴长建先生15 小时前
支付回调接口设计与代码规范:如何提升团队工程化能力
vue.js
zttbee15 小时前
vue2的API大白话讲解
前端·vue.js·前端框架
卤蛋fg618 小时前
vue 抽屉组件挂载到指定元素内显示,,表格自适应弹窗宽高
vue.js
天道kabuto1 天前
vue-i18n 升级 9.x 踩坑:正则表达式引发的“花括号”惨案
vue.js