UNPKG

@antmjs/vantui

Version:

一套适用于Taro3及React的vantui组件库

34 lines (33 loc) 1.23 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = useForm; var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _react = require("react"); var _formstore = _interopRequireDefault(require("./formstore")); function useForm(form) { var defaultFormValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var formRef = (0, _react.useRef)(null); var _useState = (0, _react.useState)({}), _useState2 = (0, _slicedToArray2.default)(_useState, 2), forceUpdate = _useState2[1]; var isInit = (0, _react.useRef)(false); (0, _react.useEffect)(function () { if (formRef.current && !isInit.current && defaultFormValue) { formRef.current.setFields(defaultFormValue); forceUpdate({}); isInit.current = true; } }, [defaultFormValue]); if (!formRef.current) { if (form) { formRef.current = form; } else { var formStoreCurrent = new _formstore.default(forceUpdate, defaultFormValue); formRef.current = formStoreCurrent.getForm(); } } return formRef.current; }