From e49972f80af7af88380f77a4e8b8125991ecc56a Mon Sep 17 00:00:00 2001 From: zhenjintao Date: Fri, 17 Dec 2021 12:42:30 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20IFormFieldItemField=E5=A2=9E=E5=8A=A0re?= =?UTF-8?q?quired=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/formFields/form/index.tsx | 23 ++++++++++++----------- src/steps/form/index.tsx | 4 ++-- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/src/components/formFields/form/index.tsx b/src/components/formFields/form/index.tsx index 289cdaf..dd383e6 100644 --- a/src/components/formFields/form/index.tsx +++ b/src/components/formFields/form/index.tsx @@ -1,7 +1,7 @@ import React from 'react' import { Field, FieldConfig, FieldConfigs, FieldError, FieldProps, IField } from '../common' import getALLComponents from '../' -import { getValue, listItemMove, setValue } from '../../../util/value' +import { getValue, listItemMove, setValue, getBoolean } from '../../../util/value' import { cloneDeep } from 'lodash' import ConditionHelper from '../../../util/condition' @@ -19,7 +19,7 @@ export interface FormFieldConfig extends FieldConfig { canSort?: boolean canCollapse?: boolean // 是否用Collapse折叠展示 stringify?: string[] // 序列号字段 - unstringify?: string[] // 反序列化字段 + unstringify?: string[] // 反序列化字段 } export interface IFormField { @@ -43,6 +43,7 @@ export interface IFormFieldItem { export interface IFormFieldItemField { index: number label: string + required: boolean status: 'normal' | 'error' | 'loading' description?: string message?: string @@ -80,7 +81,6 @@ export default class FormField extends Field Promise = async () => { // const defaults = await this.defaultValue() @@ -175,9 +175,9 @@ export default class FormField extends Field { - let data: any[] = []; + const data: any[] = [] - for(let index = 0; index < this.formFieldsList.length; index++) { + for (let index = 0; index < this.formFieldsList.length; index++) { if (this.formFieldsList[index]) { let item: any = {} @@ -249,7 +249,6 @@ export default class FormField extends Field { const formDataList = listItemMove(cloneDeep(this.state.formDataList), index, sortType) this.setState({ @@ -396,6 +395,7 @@ export default class FormField extends Field { const formFieldConfig = (this.props.config.fields || [])[formFieldIndex] if (formFieldConfig) { @@ -472,20 +472,20 @@ export default class FormField extends Field await this.handleInsert(): undefined, + onInsert: canInsert ? async () => await this.handleInsert() : undefined, canCollapse, children: ( this.state.didMount ? (Array.isArray(value) ? value : []).map((itemValue: any, index: number) => { return {this.renderItemComponent({ index, - isLastIndex: value.length - 1 === index? true: false, + isLastIndex: value.length - 1 === index, title: primaryField !== undefined ? getValue(itemValue, primaryField, '').toString() : index.toString(), removeText: removeText === undefined ? `删除 ${label}` : removeText, - onRemove: canRemove? async () => await this.handleRemove(index): undefined, - onSort: canSort? async (sortType: 'up' | 'down') => await this.handleSort(index, sortType): undefined, + onRemove: canRemove ? async () => await this.handleRemove(index) : undefined, + onSort: canSort ? async (sortType: 'up' | 'down') => await this.handleSort(index, sortType) : undefined, canCollapse, children: (fields || []).map((formFieldConfig, fieldIndex) => { if (!ConditionHelper(formFieldConfig.condition, { record: itemValue, data: this.props.data, step: this.props.step })) { @@ -509,6 +509,7 @@ export default class FormField extends Field