良好的树结构设计会让开发更舒爽

web开发中最常用的树组件是ztree,之所以好用,是因为只要构造三个基本的属性{id, name, pid},你的树就能完美的展未出来了. 

所以在设计表结构的时候,当一个数据要以树形展示的时候,多数就只设计了这三个字段,但是这样在后面的开发中会带来很多的烦燥。例如查询,需要很烦燥的遍历。

在总结一些使用的树的构造基础之上,构造出一种很舒爽的树结构应该是这个样子的

第一,要让id具有结构性。形如 101 01 01 首先要对树的每一层有一个预期,例如第一层不会超过1000,那么第一层就可以以101开头,如果会超过10000,那么就以1001开头,为什么不以0001开头呢,因为这样在构造同级结点的时候需要复杂的操作,如果以101开头,那么在同级结点构造的时候只要+1即可了。

这样构造的结构在后面的使用中会非常的有益,尤其在关系数据库中, 例如想查某个父级部门下的所有人员数据, 只要一个 人员的部门id like '101%' 就能查出下面的数据了。

第二,构造更多的信息来规范树结构以适应更多的web组件,例如: jqgrid。 我在实践中,一般一个树结构只要具有下面的一些属性应该就比较全面了。 {id, code, name, pid, level, isLeaf, open, expanded},如果有特殊情况再扩展即可,这样大多数能展示树的组件就都可以适用了!

转载于:https://my.oschina.net/lovederh/blog/1600180

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值