@cainiaofe/cn-ui-m
Version:
27 lines (26 loc) • 1.22 kB
JavaScript
import $i18n from "../../../locales/i18n";
import React from 'react';
import { formilyReact } from "../../formily";
import { isAdditionComponent } from '../utils';
import { CnFormArrayBase } from "../../cn-form-array-base";
export var Addition = function (props) {
var additionButtonVisible = props.additionButtonVisible, additionText = props.additionText, defaultValue = props.defaultValue, schema = props.schema;
if (!additionButtonVisible) {
return null;
}
var hasAddition = schema
.mapProperties(function (_) {
return isAdditionComponent(_);
})
.filter(Boolean).length > 0;
if (hasAddition) {
return (React.createElement("div", null, schema.reduceProperties(function (addition, additionSchema, key) {
if (isAdditionComponent(additionSchema)) {
return (React.createElement(formilyReact.RecursionField, { schema: additionSchema, name: key }));
}
return addition;
}, null)));
}
/** 此处逻辑跟 PC 不一致,H5 独有 */
return (React.createElement(CnFormArrayBase.Addition, { title: additionText || $i18n.get({ id: 'Add', dm: '新增' }), defaultValue: defaultValue }));
};