UNPKG

@uiw-admin/components

Version:
52 lines (50 loc) 1.79 kB
import _extends from "@babel/runtime/helpers/extends"; import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator"; import { useState } from 'react'; import { isObjectEmpty } from '../utils/index'; var useForm = () => { // form表单实例 var [formState, setFormState] = useState(); // 表单验证(同时兼容老api submitvalidate和新api onSubmit ) var submitvalidate = () => { var _formState$current; return (formState == null ? void 0 : (_formState$current = formState.current) == null ? void 0 : _formState$current.onSubmit()) || null; }; // 获取表单的值 var getFieldValues = () => { var _formState$current2; return (formState == null ? void 0 : (_formState$current2 = formState.current) == null ? void 0 : _formState$current2.getFieldValues()) || {}; }; // 获取表单错误信息 var getError = () => { var _formState$current3; return (formState == null ? void 0 : (_formState$current3 = formState.current) == null ? void 0 : _formState$current3.getError()) || {}; }; // 验证并获取表单值 var validateFieldsAndGetValue = () => { return new Promise( /*#__PURE__*/function () { var _ref = _asyncToGenerator(function* (resolve, reject) { yield submitvalidate(); var errors = getError(); if (isObjectEmpty(errors)) { var value = getFieldValues(); resolve(value); } else { reject(errors); } }); return function (_x, _x2) { return _ref.apply(this, arguments); }; }()); }; return _extends({}, formState == null ? void 0 : formState.current, { submitvalidate, getError, getFieldValues, validateFieldsAndGetValue, // -------------- setFormState }); }; export default useForm;