概述

NoWrapper的主要作用是将各种表单组件以标准化的形式接入NoForm, NoList。主要需要做两件事:

  1. 标准化数据通信

  2. 状态适配

标准化数据通信

很简单,就是 受控组件 ,实现 value 和 onchange

状态适配

普通组件只有编辑态,适配后的组件拥有 编辑态预览态禁用态

为什么

  1. 适配后的组件数据格式都一样,这样NoForm,NoList就不需要内置数据转换的逻辑,只需要考虑接入的组件符合这个规范即可。

  2. 适配后的组件可以满足状态切换,NoForm,NoList只需要考虑接入组件满足状态规范即可。

  3. 适配后的组件实际上只需要满足1、2点,其他的属性透传即可,只需要编写一个函数即可得到一个增强的组件。

UI库无感知

实际上NoWrapper只定制标准,接入各种表单组件库都可以通过这种形式接入。这样的话,编写各个使用NoWrapper的开发者保证使用方式都不会有不同。