web 表单里 input、select 这些,似乎应该是叫表单域?
TL;DR
我想让 React 或者其他工具帮我处理表单的基本交互(把表单域组件化?),同时我也能监听表单的填写情况,根据业务逻辑变更其中的表单域的结构和数据。
完整版:
小弟现在在做电子政务相关的功能,其中表单部分的需求大体有 3 个:
由于不可能为这成百上千的表单编写页面(有人力不足和不同类型终端设备复用之类的考虑),为了前 2 个需求我设计了一套 DSL 用来描述表单域,每份表单只编写和维护配置信息,目前是交给客户端浏览器组装的,第 3 个需求则通过在表单组装完毕后再尝试执行单独编写的函数添加业务逻辑,修改 DOM,添加事件监听 等。
出于维护以及后期新增需求的考虑,我觉得至少需要把 UI 上变化、表单的行为、内部的数据等分隔开,然后了解了一些 React,也去了解了一些 redux 还有 redux-form 的信息。就我目前所知 1, 2 需求是可以照葫芦画瓢做出来的,但是对于第三点,我目前的实现方法似乎和 react 由状态控制一切的理念是冲突的。
第三点需求因为是业务相关的,所以我觉得不应该把它和表单域的配置和生成放在一起,但又不知道应当如何处理,对 redux 还处于一知半解的状态,还请各位指点一二。
因为重构成本目前是可以接受的,如果这样的思路有不妥的地方也请前辈指导。