UNPKG

@51yzone/pc-components

Version:

An enterprise-class UI design language and React-based implementation

98 lines (79 loc) 2.62 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); require("antd/lib/descriptions/style"); var _descriptions = _interopRequireDefault(require("antd/lib/descriptions")); require("antd/lib/image/style"); var _image = _interopRequireDefault(require("antd/lib/image")); var _react = _interopRequireDefault(require("react")); var _classnames = _interopRequireDefault(require("classnames")); /** * 关键字:详情页 * 新增人:徐友万 * 完善中 */ // 渲染子节点DescriptionItem var renderChild = function renderChild(item) { var newValue = item.value; if (item.isImg) { // 不是数组先转换成数组 if (!Array.isArray(newValue)) { newValue = [newValue]; } newValue = newValue.map(function (n) { var image = n; if (image.attchUrlUncompressWithoutWatermark) { image.url = n.attchUrl; image.uid = n.attchId; image.previewUrl = n.attchUrlUncompressWithoutWatermark; } return /*#__PURE__*/_react["default"].createElement(_image["default"], { key: image.uid, width: 100, height: 100, src: image.url, preview: { src: image.previewUrl || image.url } }); }); } return /*#__PURE__*/_react["default"].createElement(_descriptions["default"].Item, { key: item.label, label: item.label, span: item.span || 1 }, newValue); }; // 渲染外层节点Descriptions var renderDetail = function renderDetail(data) { return data.map(function (n) { return /*#__PURE__*/_react["default"].createElement(_descriptions["default"], (0, _extends2["default"])({}, n, { key: n.key, column: n.column || 2 }), Boolean(n.children && n.children.length) && n.children.map(function (m) { return renderChild(m); })); }); }; var Detail = function Detail(props) { var _props$value = props.value, value = _props$value === void 0 ? [] : _props$value, prefixCls = props.prefixCls, className = props.className, style = props.style; return /*#__PURE__*/_react["default"].createElement("div", { className: (0, _classnames["default"])(className, "".concat(prefixCls, "-wrapper")), style: style }, renderDetail(value)); }; Detail.defaultProps = { value: [], prefixCls: 'yz-detail', className: '', style: {} }; var _default = Detail; exports["default"] = _default;