@fle-ui/plus-goods-detail-drawer
Version:
@fle-ui/plus-goods-detail-drawer
83 lines (82 loc) • 2.86 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
var _antd = require("antd");
var _icons = require("@ant-design/icons");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var Text = _antd.Typography.Text;
var EmptyState = function EmptyState(_ref) {
var onRetry = _ref.onRetry,
_ref$type = _ref.type,
type = _ref$type === void 0 ? 'empty' : _ref$type,
message = _ref.message,
description = _ref.description;
var getEmptyConfig = function getEmptyConfig() {
switch (type) {
case 'loading':
return {
image: _antd.Empty.PRESENTED_IMAGE_SIMPLE,
message: message || '正在加载商品详情...',
description: description || '请稍候,正在获取商品信息',
extra: null
};
case 'error':
return {
image: _antd.Empty.PRESENTED_IMAGE_SIMPLE,
message: message || '加载失败',
description: description || '获取商品详情时出现错误,请重试',
extra: onRetry ? /*#__PURE__*/_react.default.createElement(_antd.Button, {
type: "primary",
icon: /*#__PURE__*/_react.default.createElement(_icons.ReloadOutlined, null),
onClick: onRetry
}, "\u5237\u65B0") : null
};
case 'empty':
default:
return {
image: _antd.Empty.PRESENTED_IMAGE_SIMPLE,
message: message || '商品详情为空~',
description: description || '当前商品暂无详细信息',
extra: onRetry ? /*#__PURE__*/_react.default.createElement(_antd.Button, {
type: "primary",
icon: /*#__PURE__*/_react.default.createElement(_icons.ReloadOutlined, null),
onClick: onRetry
}, "\u5237\u65B0") : null
};
}
};
var config = getEmptyConfig();
return /*#__PURE__*/_react.default.createElement("div", {
className: "goods-empty",
style: {
padding: '40px 20px',
textAlign: 'center'
}
}, /*#__PURE__*/_react.default.createElement(_antd.Empty, {
image: config.image,
description: /*#__PURE__*/_react.default.createElement("div", {
style: {
marginTop: 30
}
}, /*#__PURE__*/_react.default.createElement(Text, {
style: {
fontSize: 16,
color: '#333'
}
}, config.message), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement(Text, {
type: "secondary",
style: {
fontSize: 14,
paddingTop: 4,
display: 'inline-block'
}
}, config.description)),
style: {
marginBottom: 16
}
}, config.extra));
};
var _default = exports.default = EmptyState;