From d37d99ca445658af6095b3e42e5fde4aa02d9a9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=98=94=E6=A2=A6?= Date: Wed, 19 Feb 2025 16:56:38 +0800 Subject: [PATCH] =?UTF-8?q?fix:getValues=E5=A2=9E=E5=8A=A0=E5=8F=82?= =?UTF-8?q?=E6=95=B0=EF=BC=8CnotFilterHideData=EF=BC=8C=E4=B8=8D=E8=BF=87?= =?UTF-8?q?=E6=BB=A4=E6=8E=89hidden:true=E7=9A=84=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/form-render/api-props.md | 2 +- packages/form-render/src/models/useForm.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/form-render/api-props.md b/docs/form-render/api-props.md index 6527f93dd..8cc742a94 100644 --- a/docs/form-render/api-props.md +++ b/docs/form-render/api-props.md @@ -48,7 +48,7 @@ group: | setValueByPath | 外部修改指定单个 field 的数据(原名 onItemChange) | `(path: Path, value: any) => void` | | setSchemaByPath | 指定路径修改 schema | `(path: Path, schema: any) => void` | | setSchema | 指定多个路径修改 schema,cover 传true将直接替换 schema | `({ path: value }, cover?: boolean) => void` | -| getValues | 获取表单内部维护的数据, 如果参数为空则返回当前所有数据 | `(nameList?: Path[], filterFunc?: (meta: { touched: boolean, validating: boolean }, notFilterUndefined?:boolean) => boolean) => any` | +| getValues | 获取表单内部维护的数据, 如果参数为空则返回当前所有数据 | `(nameList?: Path[], filterFunc?: (meta: { touched: boolean, validating: boolean }, notFilterUndefined?:boolean,notFilterHideData?:boolean) => boolean) => any` | | getHiddenValues | 获取隐藏的表单数据 | `() => any` | | getSchema | 获取表单的 schema | `()=> object` | | removeErrorField | 外部手动删除某一个 path 下所有的校验信息 | `(path: Path) => void` | | diff --git a/packages/form-render/src/models/useForm.ts b/packages/form-render/src/models/useForm.ts index 947765b45..5d5b45c15 100644 --- a/packages/form-render/src/models/useForm.ts +++ b/packages/form-render/src/models/useForm.ts @@ -163,10 +163,10 @@ const useForm = () => { } // 获取表单数据 - xform.getValues = (nameList?: any, filterFunc?: any, notFilterUndefined?:boolean) => { + xform.getValues = (nameList?: any, filterFunc?: any, notFilterUndefined?:boolean,notFilterHideData:boolean=true) => { let values = cloneDeep(form.getFieldsValue(getFieldName(nameList), filterFunc)); const { removeHiddenData } = storeRef.current?.getState() || {}; - if (removeHiddenData) { + if (notFilterHideData && removeHiddenData) { values = filterValuesHidden(values, flattenSchemaRef.current); } if (!notFilterUndefined) {