积梦前端-Meson-Form-的分层抽象设计
概述这篇文章大致梳理积梦采用的表单方案做的一些尝试和回顾.目前从用的方案是 Meson Form, 名字大致来源于 immer json:https://github.com/jimengio/m...目前 Meson Form 形态逐渐开始稳定了, 方案上基本还是可靠的.过程当中的考虑有一些曲折, 大致做一些梳理. KForm早先我们的方案当中其实沿用了一套书写较为简便的方案, 称为 KForm.看过 Meson Form 例子的话, 跟 KForm 的写法已经比较相似了,主要看 items, 每个元素定义了表单当中的一项, 这个表单有 3 项: let { dataSource, onSubmitData, formRef } = this.props;let items: IFormItem[] = [ { id: "name", label: lang.lblName, rules: [{ required: true }] }, { id: "code", label: lang.lblSerialNumber, rules: [{ required: true }] }, { id: "description", label: lang.lblDescription },];return <KForm ref={formRef} items={items} data={dataSource} layout={layout} onSubmitData={onSubmitData} />;粗看这个例子, 可能觉得已经是比较成熟的表单方案了.不过深入使用的话, KForm 存在两个问题, ...