vue部分,如果需要展示树形结构的就不需要a-tree-node,但是我没试去掉之后还能不能用title的插槽
<a-tree
checkable
:show-icon="true"
:checkedKeys="checkedKeys"
:replace-fields="replaceFields"
@select="onSelect"
@check="onCheck"
>
<a-tree-node :checkable="true" v-for="ele in treeData" :key="ele.key" :selectable="true">
<template #title>
<div class="my-tree-title">
<span>{{ ele.title }}</span>
<div class="title-icon">
<a-icon type="unordered-list" />
下级
</div>
</div>
</template>
</a-tree-node>
</a-tree>
css部分,需要给span加上宽度,不然标题多长就只有那么长
/deep/.ant-tree-switcher-noop {
display: none;
}
/deep/.ant-tree-node-content-wrapper-normal {
display: inline-block;
width: calc(100% - 25px);
.ant-tree-title {
display: inline-block;
width: 100%;
}
.my-tree-title {
display: flex;
width: 100%;
justify-content: space-between;
.title-icon {
color: #b7a568;
}
}
}
/deep/.ant-tree li .ant-tree-node-content-wrapper.ant-tree-node-selected {
background-color: #ffffff !important;
}