mobile-more
Version:
基于 antd-mobile v5 扩展移动端 UI 组件
77 lines • 2.58 kB
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
var _excluded = ["value", "formatValue", "valueType", "valueEnum"];
import React from 'react';
import TextField from "./TextField";
import ImageField from "./ImageField";
import MoneyField from "./MoneyField";
import DateField from "./DateField";
import IndexField from "./IndexField";
import PercentField from "./PercentField";
import ProgressField from "./ProgressField";
import ColorField from "./ColorField";
import EnumField from "./EnumField";
import { isDateFieldType } from "./utils";
import "./index.css";
var BizField = function BizField(props) {
var value = props.value,
formatValue = props.formatValue,
valueType = props.valueType,
valueEnum = props.valueEnum,
restProps = _objectWithoutProperties(props, _excluded);
var fmtValue = typeof formatValue === 'function' ? formatValue(value) : value;
if (valueType === 'text') {
return /*#__PURE__*/React.createElement(TextField, _extends({
value: fmtValue
}, restProps));
}
if (valueType === 'money') {
return /*#__PURE__*/React.createElement(MoneyField, _extends({
value: fmtValue
}, restProps));
}
if (valueType === 'image') {
return /*#__PURE__*/React.createElement(ImageField, _extends({
value: fmtValue
}, restProps));
}
if (isDateFieldType(valueType)) {
return /*#__PURE__*/React.createElement(DateField, _extends({
value: fmtValue
}, restProps, {
type: valueType
}));
}
if (valueType === 'index' || valueType === 'indexBorder') {
return /*#__PURE__*/React.createElement(IndexField, _extends({
value: fmtValue + 1
}, restProps, {
bordered: valueType === 'indexBorder'
}));
}
if (valueType === 'percent') {
return /*#__PURE__*/React.createElement(PercentField, _extends({
value: fmtValue
}, restProps));
}
if (valueType === 'progress') {
return /*#__PURE__*/React.createElement(ProgressField, _extends({
value: fmtValue
}, restProps));
}
if (valueType === 'enum' || valueType === 'enumTag') {
return /*#__PURE__*/React.createElement(EnumField, _extends({
value: fmtValue,
valueEnum: valueEnum
}, restProps, {
type: valueType
}));
}
if (valueType === 'color') {
return /*#__PURE__*/React.createElement(ColorField, _extends({
value: fmtValue
}, restProps));
}
return typeof fmtValue === 'undefined' ? null : fmtValue;
};
export default BizField;