饿了么树形组件的图标自定义
默认样式:
可以看到el-tree组件左侧自带展开与收起图标,咱们可以把它隐藏::
.groupList { ::v-deep .el-tree-node { .el-icon-caret-right { display: none; } } }
我的全部代码
<div class="groupList"> <el-tree :data="groupList" node-key="id" :default-expanded-keys='defaultexpande' :highlight-current="true" :props="defaultProps" @node-drop="handleDrop" draggable :allow-drop="allowDrop" :allow-drag="allowDrag" @node-click='toogleForm' ref='tree'> <span slot-scope="{ data }" class="span__" style="padding-left:6px;"> <span :class="data.icon" style="margin-right:10px;"></span> <el-tooltip effect="dark" placement="top" :visible-arrow='false' :open-delay='500' :enterable="false"> <div slot="content" v-html="data.fullName"> </div> <span class="tree-node-span" style="color:black;">{{ data.fullName |Formatstr(7)}}</span> </el-tooltip> <span class="rightButton2"> <span class="iconfont icon-more-grid-big"></span> </span> </span> </el-tree> </div>
其中自定义左侧图标的方法:
我的每条数据都自带icon属性,你没有的话也可以在数据拿到之后手动遍历添加一条icon属性进去,然后再el-tree中使用:
<span :class="data.icon" style="margin-right:10px;"></span>
如果需要点击改变图标的话就点击改变data中的icon属性即可。 但是先确认是否已经定义好icon对应的图标.
鼠标悬停显示图标:
<span class="rightButton2"> <span class="iconfont icon-more-grid-big"></span> </span> </span>
css
将右侧图标默认隐藏,悬停显示即可
.groupList{ ::v-deep .el-tree-node { .el-tree-node__content { .rightButton2{ visibility: hidden; } &:hover .rightButton2 { visibility: visible; } } } }
【el-tree】树形结构拖拽,拖动修改分组
https://blog.csdn.net/weixin_64530670/article/details/132372128