UNPKG

@antmjs/vantui

Version:

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

134 lines 4.57 kB
import _defineProperty from "@babel/runtime/helpers/defineProperty"; 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 { Input } from '@tarojs/components'; import { Switch } from '../switch'; import { Radio } from '../radio'; import { RadioGroup } from '../radio-group'; import { Checkbox } from '../checkbox'; import { CheckboxGroup } from '../checkbox-group'; import { Slider } from '../slider'; import { Rate } from '../rate'; import { Stepper } from '../stepper'; import { jsx as _jsx } from "react/jsx-runtime"; export var formComponents = {}; var defaultCompItems = [{ type: 'input', component: Input, trigger: 'onInput', valueFormat: function valueFormat(e) { return e.detail.value; }, transformProps: function transformProps(props, formItemProps) { return _objectSpread({ type: 'text', placeholder: "\u8BF7\u8F93\u5165".concat(formItemProps['label']) }, props); } }, { type: 'inputNumber', component: Input, trigger: 'onInput', valueFormat: function valueFormat(e) { return e.detail.value; }, transformProps: function transformProps(props, formItemProps) { return _objectSpread({ type: 'number', placeholder: "\u8BF7\u8F93\u5165".concat(formItemProps['label']) }, props); } }, { type: 'inputPrice', trigger: 'onInput', valueFormat: function valueFormat(e) { return e.detail.value; }, component: Input, transformProps: function transformProps(props, formItemProps) { return _objectSpread({ type: 'number', placeholder: "\u8BF7\u8F93\u5165".concat(formItemProps['label']) }, props); }, rules: [{ rule: function rule(val, call) { var rtNumber = String(val).split('.')[1]; if (val < 0) { return call('金额必须大于0'); } else if (rtNumber && rtNumber.length > 2) { return call('小数点位数不能大于2位'); } else { return call(''); } } }] }, { type: 'switch', component: Switch, valueKey: 'checked' }, { type: 'radio', component: RadioGroup, valueKey: 'value', transformProps: function transformProps(props, formItemProps) { var _formItemProps$option; return _objectSpread({ children: (_formItemProps$option = formItemProps['options']) === null || _formItemProps$option === void 0 ? void 0 : _formItemProps$option.map(function (item, index) { return /*#__PURE__*/_jsx(Radio, { name: item.value, children: item.name }, "RadioGroup_".concat(formItemProps['key'], "_").concat(index)); }) }, props); } }, { type: 'checkbox', component: CheckboxGroup, transformProps: function transformProps(props, formItemProps) { return _objectSpread({ direction: 'horizontal', shape: 'square', children: formItemProps['options'].map(function (item, index) { return ( /*#__PURE__*/ // @ts-ignore _jsx(Checkbox, { name: item.value, children: item.name }, "RadioGroup_".concat(formItemProps['key'], "_").concat(index)) ); }) }, props); } }, { type: 'slider', component: Slider, transformProps: function transformProps(props) { return _objectSpread({ style: { width: '200px', marginTop: '10px' } }, props); } }, { type: 'rate', component: Rate }, { type: 'stepper', component: Stepper }]; defaultCompItems.forEach(function (item) { resiterComponent(item); }); export function resiterComponent(params) { var type = params.type; if (formComponents[type]) { console.warn("FormRender: Overwrite existing component ".concat(type)); } formComponents[type] = params; } export function showComponents() { return formComponents; }