mobile-more
Version:
基于 antd-mobile v5 扩展移动端 UI 组件
51 lines • 2.13 kB
JavaScript
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
var _excluded = ["left", "right", "center", "className"];
import * as React from 'react';
import classnames from 'classnames';
import { isArray } from 'ut2';
import { prefixClass } from '../../config';
import "./index.css";
import { getTimestampString } from '../../utils/utils';
var prefixCls = "".concat(prefixClass, "-head");
var BaseHead = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
var left = _ref.left,
right = _ref.right,
center = _ref.center,
className = _ref.className,
restProps = _objectWithoutProperties(_ref, _excluded);
var uid = React.useMemo(function () {
return getTimestampString('__base_head_');
}, []);
var generatorChilds = React.useCallback(function (childs) {
if (isArray(childs)) {
return childs.map(function (item, index) {
return /*#__PURE__*/React.createElement("div", {
className: "".concat(prefixCls, "-button"),
key: /*#__PURE__*/React.isValidElement(item) && (item === null || item === void 0 ? void 0 : item.key) || uid + index
}, item);
});
}
return childs ? /*#__PURE__*/React.createElement("div", {
className: "".concat(prefixCls, "-button")
}, childs) : null;
}, [uid]);
var leftChilds = React.useMemo(function () {
return generatorChilds(left);
}, [generatorChilds, left]);
var rightChilds = React.useMemo(function () {
return generatorChilds(right);
}, [generatorChilds, right]);
return /*#__PURE__*/React.createElement("div", _objectSpread({
className: classnames(prefixCls, className),
ref: ref
}, restProps), /*#__PURE__*/React.createElement("div", {
className: "".concat(prefixCls, "-left")
}, leftChilds), /*#__PURE__*/React.createElement("div", {
className: "".concat(prefixCls, "-center")
}, center), /*#__PURE__*/React.createElement("div", {
className: "".concat(prefixCls, "-right")
}, rightChilds));
});
BaseHead.displayName = 'BaseHead';
export default BaseHead;