UNPKG

@antmjs/vantui

Version:

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

66 lines 3.31 kB
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties"; import _defineProperty from "@babel/runtime/helpers/defineProperty"; import _slicedToArray from "@babel/runtime/helpers/slicedToArray"; var _excluded = ["setCallback", "dispatch"]; function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } import React, { useImperativeHandle, forwardRef, memo, useState } from 'react'; import { Form as TaroForm } from '@tarojs/components'; import { get } from '../default-props'; import FormContext from './core/formContext'; import useForm from './core/useForm'; import { jsx as _jsx } from "react/jsx-runtime"; function Index(props, ref) { var _useState = useState(get().Form), _useState2 = _slicedToArray(_useState, 1), d = _useState2[0]; var _d$props = _objectSpread(_objectSpread({}, d), props), form = _d$props.form, _d$props$initialValue = _d$props.initialValues, initialValues = _d$props$initialValue === void 0 ? {} : _d$props$initialValue, children = _d$props.children, _d$props$className = _d$props.className, className = _d$props$className === void 0 ? '' : _d$props$className, onFinish = _d$props.onFinish, onFinishFailed = _d$props.onFinishFailed, onChange = _d$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;