@fle-ui/plus-goods-detail-drawer
Version:
@fle-ui/plus-goods-detail-drawer
81 lines • 2.67 kB
JavaScript
import "antd/es/button/style";
import _Button from "antd/es/button";
import "antd/es/empty/style";
import _Empty from "antd/es/empty";
import "antd/es/typography/style";
import _Typography from "antd/es/typography";
import React from 'react';
import { ReloadOutlined } from '@ant-design/icons';
var Text = _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: _Empty.PRESENTED_IMAGE_SIMPLE,
message: message || '正在加载商品详情...',
description: description || '请稍候,正在获取商品信息',
extra: null
};
case 'error':
return {
image: _Empty.PRESENTED_IMAGE_SIMPLE,
message: message || '加载失败',
description: description || '获取商品详情时出现错误,请重试',
extra: onRetry ? /*#__PURE__*/React.createElement(_Button, {
type: "primary",
icon: /*#__PURE__*/React.createElement(ReloadOutlined, null),
onClick: onRetry
}, "\u5237\u65B0") : null
};
case 'empty':
default:
return {
image: _Empty.PRESENTED_IMAGE_SIMPLE,
message: message || '商品详情为空~',
description: description || '当前商品暂无详细信息',
extra: onRetry ? /*#__PURE__*/React.createElement(_Button, {
type: "primary",
icon: /*#__PURE__*/React.createElement(ReloadOutlined, null),
onClick: onRetry
}, "\u5237\u65B0") : null
};
}
};
var config = getEmptyConfig();
return /*#__PURE__*/React.createElement("div", {
className: "goods-empty",
style: {
padding: '40px 20px',
textAlign: 'center'
}
}, /*#__PURE__*/React.createElement(_Empty, {
image: config.image,
description: /*#__PURE__*/React.createElement("div", {
style: {
marginTop: 30
}
}, /*#__PURE__*/React.createElement(Text, {
style: {
fontSize: 16,
color: '#333'
}
}, config.message), /*#__PURE__*/React.createElement("br", null), /*#__PURE__*/React.createElement(Text, {
type: "secondary",
style: {
fontSize: 14,
paddingTop: 4,
display: 'inline-block'
}
}, config.description)),
style: {
marginBottom: 16
}
}, config.extra));
};
export default EmptyState;