UNPKG

@gizwits/vantui

Version:

机智云组件库

57 lines 2.08 kB
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties"; var _excluded = ["setCallback", "dispatch"]; import React, { useImperativeHandle, forwardRef, memo } from 'react'; import { Form as TaroForm } from '@tarojs/components'; import FormContext from './core/formContext'; import useForm from './core/useForm'; import { jsx as _jsx } from "react/jsx-runtime"; function Index(props, ref) { var form = props.form, _props$initialValues = props.initialValues, initialValues = _props$initialValues === void 0 ? {} : _props$initialValues, children = props.children, _props$className = props.className, className = _props$className === void 0 ? '' : _props$className, onFinish = props.onFinish, onFinishFailed = props.onFinishFailed, onChange = props.onChange; var formInstance = useForm(form, initialValues); // eslint-disable-next-line @typescript-eslint/no-unused-vars var setCallback = formInstance.setCallback, dispatch = formInstance.dispatch, formInstanceAPI = _objectWithoutProperties(formInstance, _excluded); // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore setCallback({ onFinish: onFinish, onFinishFailed: onFinishFailed, onChange: onChange }); useImperativeHandle(ref, function () { return formInstanceAPI; }, [formInstanceAPI]); var RenderChildren = /*#__PURE__*/_jsx(FormContext.Provider, { value: formInstance, children: children }); return /*#__PURE__*/_jsx(TaroForm, { className: "".concat(className, " vant-form"), onReset: function onReset(e) { e.preventDefault(); e.stopPropagation(); formInstance.resetFields(); }, onSubmit: function onSubmit(e) { e.preventDefault(); e.stopPropagation(); formInstance.submit(); }, children: RenderChildren }); } var Form = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(Index)); // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore Form.useForm = useForm; export { Form, useForm }; export default Form;