@uiw-admin/components
Version:
77 lines (74 loc) • 3.39 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _react = require("react");
var _index = require("../utils/index");
var useForm = function useForm() {
// form表单实例
var _useState = (0, _react.useState)(),
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
formState = _useState2[0],
setFormState = _useState2[1];
// 表单验证(同时兼容老api submitvalidate和新api onSubmit )
var submitvalidate = function submitvalidate() {
var _formState$current;
return (formState === null || formState === void 0 ? void 0 : (_formState$current = formState.current) === null || _formState$current === void 0 ? void 0 : _formState$current.onSubmit()) || null;
};
// 获取表单的值
var getFieldValues = function getFieldValues() {
var _formState$current2;
return (formState === null || formState === void 0 ? void 0 : (_formState$current2 = formState.current) === null || _formState$current2 === void 0 ? void 0 : _formState$current2.getFieldValues()) || {};
};
// 获取表单错误信息
var getError = function getError() {
var _formState$current3;
return (formState === null || formState === void 0 ? void 0 : (_formState$current3 = formState.current) === null || _formState$current3 === void 0 ? void 0 : _formState$current3.getError()) || {};
};
// 验证并获取表单值
var validateFieldsAndGetValue = function validateFieldsAndGetValue() {
return new Promise( /*#__PURE__*/function () {
var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/(0, _regeneratorRuntime2["default"])().mark(function _callee(resolve, reject) {
var errors, value;
return (0, _regeneratorRuntime2["default"])().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return submitvalidate();
case 2:
errors = getError();
if ((0, _index.isObjectEmpty)(errors)) {
value = getFieldValues();
resolve(value);
} else {
reject(errors);
}
case 4:
case "end":
return _context.stop();
}
}, _callee);
}));
return function (_x, _x2) {
return _ref.apply(this, arguments);
};
}());
};
return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, formState === null || formState === void 0 ? void 0 : formState.current), {}, {
submitvalidate: submitvalidate,
getError: getError,
getFieldValues: getFieldValues,
validateFieldsAndGetValue: validateFieldsAndGetValue,
// --------------
setFormState: setFormState
});
};
var _default = useForm;
exports["default"] = _default;
module.exports = exports.default;