Open yiescc opened 2 years ago
这里用 ref 监听组件的 mount/unmount 过程,可以做一些操作。 eg: 如果组件 unmount ,name 对应的 value 需要删掉,这种表单联动中常见
因为 Field 需要获取 Ref,主要做了下面两件事情:
因为 Field 需要获取 Ref,主要做了下面两件事情:
- 判断组件是否 mount/unmount,都是通过 ref 来判断的。如果不包裹 React.forwardRef() 可能组件删除后 Filed 检测不出来,导致数据依然缓存。
- 组件校验出错的时候,自动滚动到出错组件的位置。 如果不包裹 React.forwardRef() 可能会缺失此功能
那如果将该组件自行包裹了forwardRef并且传了一个ref呢,field会受影响吗
因为一些设计缺陷,目前只针对 class component 能完整实现 Field 的全部功能,建议使用 ConfigProvider.config() 包裹自定义组件来在 Field、Form 场景使用,我们将在 2.x 版本修复这个问题
Component
Field
Feature Description
背景 1.对自定义组件使用field.init后,会报错
但是没有包裹也是正常使用的
需求: 1.能否不包裹 React.forwardRef 2.一定要包裹 React.forwardRef的原因是什么