项目需求:需要实现树形图,这里选用elemntui的tree树形控件,
遇到问题:由于数据很多一次性请求的话树形图加载很慢,
解决方案:这里把接口拆分为俩个,第一个接口先请求前两层的数据,第二个接口点击的时候请求
代码如下:
<!-- 树形图 -->
<el-tree ref="treeBox" empty-text="" :data="treeData" :props="defaultProps"
highlight-current node-key="code" :expand-on-click-node="true"
class="JNPF-common-el-tree" :default-expand-all="true" @node-click="handleTreeClick">
<span class="custom-tree-node" slot-scope="{ data, node }" :title="data.fullName">
<i :class="data.icon" />
<span class="text" :title="data.fullName">{{node.label}}</span>
</span>
</el-tree>
// 获取组织机构树形数据子集
handleTreeClick(data) {
getTreeCode({ fcode: data.code }).then(res => {
if (res.code === 200) {
if (res.data.length > 0) {
data.children = res.data
} else {
// this.$message.error('')
}
}
})
},