mobile-more
Version:
基于 antd-mobile v5 扩展移动端 UI 组件
79 lines (78 loc) • 3.6 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _react = _interopRequireDefault(require("react"));
var _dayjsUtil = require("../../../utils/dayjsUtil");
var _FormItem = _interopRequireDefault(require("../FormItem"));
var _ExpireDatePicker = _interopRequireWildcard(require("./ExpireDatePicker"));
var _getDefaultPopupTitle = _interopRequireDefault(require("../utils/getDefaultPopupTitle"));
var _BizConfigProvider = require("../../BizConfigProvider");
var _excluded = ["datePickerProps", "format", "readOnly", "disabled", "placeholder", "title", "longTermValue", "longTermLabel", "required"];
var BizFormItemExpireDatePicker = function BizFormItemExpireDatePicker(props) {
var _useConfig = (0, _BizConfigProvider.useConfig)(),
locale = _useConfig.locale;
var datePickerProps = props.datePickerProps,
_props$format = props.format,
format = _props$format === void 0 ? _ExpireDatePicker.DefaultFormat : _props$format,
readOnly = props.readOnly,
disabled = props.disabled,
placeholder = props.placeholder,
_props$title = props.title,
title = _props$title === void 0 ? (0, _getDefaultPopupTitle.default)(props, locale) : _props$title,
longTermValue = props.longTermValue,
longTermLabel = props.longTermLabel,
required = props.required,
restProps = (0, _objectWithoutProperties2.default)(props, _excluded);
var _React$useState = _react.default.useState(false),
_React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
visible = _React$useState2[0],
setVisible = _React$useState2[1];
var transform = _react.default.useCallback(function (value) {
if (format && value) {
return (0, _dayjsUtil.dayjs)(value).format(format);
}
return value;
}, [format]);
return /*#__PURE__*/_react.default.createElement(_FormItem.default, (0, _extends2.default)({
trigger: "onConfirm",
validateTrigger: "onConfirm",
arrow: false,
arrowIcon: false,
transform: transform,
disabled: disabled,
rules: [{
required: required,
message: locale.form.common.selectRequired
}],
required: required
}, restProps, {
onClick: function onClick(e, widgetRef) {
var _restProps$onClick;
if (!disabled && !readOnly) {
setVisible(true);
}
restProps === null || restProps === void 0 || (_restProps$onClick = restProps.onClick) === null || _restProps$onClick === void 0 || _restProps$onClick.call(restProps, e, widgetRef);
}
}), /*#__PURE__*/_react.default.createElement(_ExpireDatePicker.default, (0, _extends2.default)({
visible: visible,
onClose: function onClose() {
return setVisible(false);
},
placeholder: placeholder,
longTermLabel: longTermLabel,
longTermValue: longTermValue,
readOnly: disabled || readOnly,
format: format,
title: title
}, datePickerProps)));
};
BizFormItemExpireDatePicker.MinDate = _ExpireDatePicker.MinDate;
BizFormItemExpireDatePicker.MaxDate = _ExpireDatePicker.MaxDate;
var _default = exports.default = BizFormItemExpireDatePicker;