@jdcfe/yep-react
Version:
一套移动端的React组件库
74 lines (65 loc) • 2.41 kB
JavaScript
import * as React from 'react';
import classNames from 'classnames';
var dealPrice = function dealPrice(value) {
var decLength = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;
var symbol = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '¥';
// 判断value的第一位是否是货币符号
if (value && !/^[0-9]*$/.test(value.substring(0, 1))) {
symbol = value.substring(0, 1); // 如果是货币符号,获取符号
value = value.substring(1); // 获取价格
} // 判断需要展示几位小数
value = parseFloat(value).toFixed(decLength);
var values = (value + '').split('.');
return {
symbol: symbol,
intVal: values[0],
decimalVal: values[1]
};
};
var Price = function Price(_ref) {
var prefixCls = _ref.prefixCls,
symPos = _ref.symPos,
decPos = _ref.decPos,
status = _ref.status,
className = _ref.className,
symClassName = _ref.symClassName,
intClassName = _ref.intClassName,
decClassName = _ref.decClassName,
value = _ref.value,
decLength = _ref.decLength,
currencySym = _ref.currencySym;
var cls = classNames(className ? "".concat(className) : '', prefixCls, {
del: status === 'del'
});
var symCls = classNames(symClassName ? "".concat(symClassName) : '', {
'sym-sub': symPos === 'sub',
'sym-sup': symPos === 'sup'
});
var intCls = classNames(intClassName ? "".concat(intClassName) : '');
var decCls = classNames(decClassName ? "".concat(decClassName) : '', {
'dec-sub': decPos === 'sub',
'dec-sup': decPos === 'sup'
});
var _dealPrice = dealPrice(value, decLength, currencySym),
symbol = _dealPrice.symbol,
intVal = _dealPrice.intVal,
decimalVal = _dealPrice.decimalVal;
return /*#__PURE__*/React.createElement("div", {
className: cls
}, /*#__PURE__*/React.createElement("span", {
className: "".concat(prefixCls, "-sym ").concat(symCls)
}, symbol), /*#__PURE__*/React.createElement("span", {
className: "".concat(prefixCls, "-txt int-txt ").concat(intCls)
}, intVal), !!decimalVal && /*#__PURE__*/React.createElement("span", {
className: "".concat(prefixCls, "-txt dec-txt ").concat(decCls)
}, ".", decimalVal));
};
Price.defaultProps = {
prefixCls: 'Yep-price',
style: {},
symbol: '¥',
symPos: 'sub',
decLength: 2,
decPos: 'sub'
};
export default Price;