最近总结了一个写代码的方法,如题:
从结果中寻找方法
先举一个简单的例子:
因为在目前所在的公司,经常会有这样一个阶段。
先前端写demo,json数据都自己去造,包括一些随机性的pageList,简单的还好,遇到一些复杂的,就有点懵。
以前都是后端规定好json格式后,自己只简单的复杂渲染,或者重组就行了,写demo相当于自己既是前端,也是一个小型的后端。
比如:
这是一个很简单的list,混合一个tab。
针对具体的tab,我造的list的json如下:
[
changePath: [], // 转化路径
changeTimes: { // 转化次数
number: '', // 值
percent: '' // 占比
},
changePersons: { // 转化人数
number: '', // 值
percent: '' // 占比
},
changeValues: { // 转化价值
number: '', // 值
percent: '' // 占比
}
]
再来一个复杂的:
增加了一个细分维度,table变成了一个带有children的父子包含关系的json
,根据ant-d的父子table的json格式来造数据,就是这样的。
偷懒下,直接截图了,其实母本都一样,都是最开始那个json-item数据来拓展的。
可以看出,children内部是一个小的循环,循环的变量肯定是所选择的细分维度,
chirdren内部的item跟母体的item一一对应,这样在render的时候,就可复用了。
看一个复杂的:
对应的json格式:
由于出现了两个【次数、价值】,可能还会出现3个、4个,所以根据changeTimes和changeValues 已经满足不了我的需求。
一开始这里我没理清,所以造出来的demo数据都是相同的。
仔细看,他们的不同在于modals模型不同,【次数和价值】被同一个模型所公用,所以立刻想到了应该循环modals,而且需要用modals的value来做index索引(不然这里的命名无法动态化)。
再看一个更复杂的:
对应的json格式:
其实要说他复杂,无非就是多了一个children,但children内部的item是需要跟母体的item保持一致的.所以其实理解了第一个母体,结合最后一个渲染的结果json,找准内部的变量是如何生成的,比如需要通过模型来循环得到?还是需要通过细分维度来循环得到,就迎刃而解了。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。