UNPKG

loners-form

Version:

为工作而生,基于 antd 而生的可配置化表单

33 lines (27 loc) 2.08 kB
import "antd/es/form/style"; import _Form from "antd/es/form"; import "antd/es/radio/style"; import _Radio from "antd/es/radio"; var _excluded = ["type", "fieldProps"]; function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } import React from 'react'; import RangePickerGo from '../RangePickerGo'; import InputGo from '../InputGo'; import TextareaGo from '../TextareaGo'; import InputNumberGo from '../InputNumberGo'; import InputLoadingGo from '../InputLoadingGo'; import SelectGo from '../SelectGo'; import SwitchGo from '../SwitchGo'; var FORM_ITEM_MAP = new Map([['InputText', InputGo], ['Textarea', TextareaGo], ['InputNumber', InputNumberGo], ['InputLoading', InputLoadingGo], ['SimpleSelect', SelectGo], ['Switch', SwitchGo], ['RadioGroup', _Radio.Group], ['RangePicker', RangePickerGo]]); function FormItem(_ref) { var type = _ref.type, fieldProps = _ref.fieldProps, rawProps = _objectWithoutProperties(_ref, _excluded); if (!type) return /*#__PURE__*/React.createElement(React.Fragment, null); var formItemMap = FORM_ITEM_MAP; var Component = formItemMap.get(type); if (!Component) return /*#__PURE__*/React.createElement(React.Fragment, null); return /*#__PURE__*/React.createElement(_Form.Item, rawProps, /*#__PURE__*/React.createElement(Component, fieldProps)); } export default FormItem;