react-admin-component
Version:
react library
47 lines • 2.95 kB
JavaScript
import * as tslib_1 from "tslib";
import React from 'react';
import { Form, DatePicker } from 'antd';
import moment from 'moment';
import locale from 'antd/lib/date-picker/locale/zh_CN';
import 'moment/locale/zh-cn';
var FormDate = function (props) {
var label = props.label, labelCol = props.labelCol, wrapperCol = props.wrapperCol, isRange = props.isRange, field = props.field, initialValue = props.initialValue, required = props.required, mountContainer = props.mountContainer, validator = props.validator, onChange = props.onChange, dateProps = props.dateProps, placeholder = props.placeholder, format = props.format, showTime = props.showTime;
var _a = props.form, getFieldDecorator = _a.getFieldDecorator, getFieldValue = _a.getFieldValue, setFieldsValue = _a.setFieldsValue;
var customPlaceholder = placeholder ? placeholder : "\u8BF7\u9009\u62E9" + label;
return (React.createElement(Form.Item, tslib_1.__assign({}, {
label: label,
labelCol: labelCol,
wrapperCol: wrapperCol,
}, { className: props.className }), getFieldDecorator(field, {
initialValue: initialValue,
rules: [
{ required: required, message: "\u8BF7\u9009\u62E9" + label },
{
validator: function (rule, value, callback) {
return validator ? validator(rule, value, callback) : callback();
},
},
],
normalize: function (value) {
if (value && value.length > 0) {
if (isRange && !moment.isMoment(value[0]))
return [moment(value[0]), moment(value[1])];
if (!isRange && !moment.isMoment(value))
return moment(value);
}
return value;
},
})(props.readOnly ? (props.render ? (props.render(getFieldValue(field))) : (React.createElement("span", null, moment.isMoment(getFieldValue(field))
? getFieldValue(field).format('YYYY-MM-DD')
: getFieldValue(field)))) : isRange ? (React.createElement(DatePicker.RangePicker, tslib_1.__assign({}, tslib_1.__assign({}, (mountContainer && {
getPopupContainer: function () { return document.getElementById(mountContainer); },
})), { onChange: function (date, dateString) {
return onChange && onChange(date, dateString, setFieldsValue);
} }, dateProps, { locale: locale }))) : (React.createElement(DatePicker, tslib_1.__assign({ style: { width: '100%' }, showTime: showTime }, dateProps, { format: format, placeholder: customPlaceholder, onChange: function (date, dateString) {
return onChange && onChange(date, dateString, setFieldsValue);
}, locale: locale }, (mountContainer && {
getPopupContainer: function () { return document.getElementById(mountContainer); },
})))))));
};
export default FormDate;
//# sourceMappingURL=index.js.map