@antmjs/vantui
Version:
一套适用于Taro3及React的vantui组件库
144 lines (143 loc) • 5.06 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.formComponents = void 0;
exports.resiterComponent = resiterComponent;
exports.showComponents = showComponents;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _components = require("@tarojs/components");
var _switch = require("../switch");
var _radio = require("../radio");
var _radioGroup = require("../radio-group");
var _checkbox = require("../checkbox");
var _checkboxGroup = require("../checkbox-group");
var _slider = require("../slider");
var _rate = require("../rate");
var _stepper = require("../stepper");
var _jsxRuntime = require("react/jsx-runtime");
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) { (0, _defineProperty2.default)(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; }
var formComponents = {};
exports.formComponents = formComponents;
var defaultCompItems = [{
type: 'input',
component: _components.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: _components.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: _components.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.Switch,
valueKey: 'checked'
}, {
type: 'radio',
component: _radioGroup.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__*/(0, _jsxRuntime.jsx)(_radio.Radio, {
name: item.value,
children: item.name
}, "RadioGroup_".concat(formItemProps['key'], "_").concat(index));
})
}, props);
}
}, {
type: 'checkbox',
component: _checkboxGroup.CheckboxGroup,
transformProps: function transformProps(props, formItemProps) {
return _objectSpread({
direction: 'horizontal',
shape: 'square',
children: formItemProps['options'].map(function (item, index) {
return (
/*#__PURE__*/
// @ts-ignore
(0, _jsxRuntime.jsx)(_checkbox.Checkbox, {
name: item.value,
children: item.name
}, "RadioGroup_".concat(formItemProps['key'], "_").concat(index))
);
})
}, props);
}
}, {
type: 'slider',
component: _slider.Slider,
transformProps: function transformProps(props) {
return _objectSpread({
style: {
width: '200px',
marginTop: '10px'
}
}, props);
}
}, {
type: 'rate',
component: _rate.Rate
}, {
type: 'stepper',
component: _stepper.Stepper
}];
defaultCompItems.forEach(function (item) {
resiterComponent(item);
});
function resiterComponent(params) {
var type = params.type;
if (formComponents[type]) {
console.warn("FormRender: Overwrite existing component ".concat(type));
}
formComponents[type] = params;
}
function showComponents() {
return formComponents;
}