mobile-more
Version:
基于 antd-mobile v5 扩展移动端 UI 组件
47 lines (46 loc) • 2.17 kB
JavaScript
;
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 _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _antdMobile = require("antd-mobile");
var React = _interopRequireWildcard(require("react"));
var _utilHelpers = require("util-helpers");
var _BizConfigProvider = require("../../BizConfigProvider");
var _date = require("../utils/date");
var _dayjs = require("../../../utils/dayjs.util");
var _excluded = ["precision", "format", "placeholder", "value", "renderLabel"];
var SuperDatePicker = function SuperDatePicker(props) {
var _useConfig = (0, _BizConfigProvider.useConfig)(),
locale = _useConfig.locale;
var precision = props.precision,
format = props.format,
placeholder = props.placeholder,
outValue = props.value,
_props$renderLabel = props.renderLabel,
renderLabel = _props$renderLabel === void 0 ? function (type, data) {
return (0, _date.labelRenderer)(type, data, locale);
} : _props$renderLabel,
restProps = (0, _objectWithoutProperties2.default)(props, _excluded);
var internalValue = React.useMemo(function () {
return typeof outValue === 'string' ? (0, _utilHelpers.safeDate)(outValue) : outValue;
}, [outValue]);
return /*#__PURE__*/React.createElement(_antdMobile.DatePicker, (0, _objectSpread2.default)({
renderLabel: renderLabel,
precision: precision,
value: internalValue,
destroyOnClose: true
}, restProps), function (value) {
var fmtValue = value ? typeof format === 'function' ? format(value, precision) : (0, _dayjs.dayjs)(value).format(format) : value;
return /*#__PURE__*/React.createElement(_antdMobile.Input, {
value: fmtValue || '',
placeholder: placeholder,
readOnly: true
});
});
};
var _default = exports.default = SuperDatePicker;