UNPKG

antd-mobile-taro-ui

Version:

以antd-mobile为设计标准,基于taro框架的微信小程序组件库

31 lines (28 loc) 813 B
import { __rest } from "tslib"; import React, { useLayoutEffect, useRef } from 'react'; import RcForm from 'rc-field-form'; import isEqual from 'lodash/isEqual'; import { FormContext } from './context'; const Form = props => { const { children } = props, formProps = __rest(props, ["children"]); const { initialValues, form } = props; const preValue = useRef(); useLayoutEffect(() => { if (initialValues && !isEqual(initialValues, preValue.current) && form) { preValue.current = initialValues; form.setFieldsValue(initialValues); } }, [form, initialValues]); return React.createElement(RcForm, Object.assign({}, formProps), React.createElement(FormContext.Provider, { value: { value: initialValues } }, children)); }; export default Form;