一、普普通通的需求背景
实现一个动态表单的依赖关联配置。以下以一个简单的例子做说明:
假设1个表单Form,存在表单项,组件库可以理解为antd
- A: 姓名
- B: 年龄
- C: 性别
假设姓名为空时,年龄无法编辑。假设姓名改动,清空年龄。
二、牛马牌:原代码实现(图)
以下是我看到的代码(不能晒code,不可以!我们玩的就是抽象!)
好了, 代码简化思路如下图
那么问题来了,假设B年龄又依赖了C性别怎么办呢?
虚空加强版来了
以下为Form技能列表:
- 感知到表单谁在变
- 更改ABC的Disable状态
- 更改ABC的值
文笔不太行,只能画画图了,图也画的不太行。。
三、接下来就交给你(我)了,把需求实现吧!
这里应该有上面的实现答案?
这里就不贴答案了,一千个人眼里有一千个哈姆雷特
本文只要看上面的哈利波特就行了。
四、恍然大悟
当我自己看完上面的哈利波特的奇思妙想后,跟朋友友好的交流了一番,朋友的一张图让我真正的幡然醒悟。 为什么说我是纯正牛马?请看下图分解:
哎,我就是这个B。。。
(本故事纯属虚构,如有雷同,都是牛马)