From 1b3d5d08c47aef5dc3c0a8378bf18af8a42284dc Mon Sep 17 00:00:00 2001 From: LiuJiaNan <15703339975@163.com> Date: Tue, 21 Apr 2026 17:22:16 +0800 Subject: [PATCH] =?UTF-8?q?feat(form):=20FormBuilder=E5=92=8CSearch?= =?UTF-8?q?=E7=9A=84values=E6=9B=B4=E6=94=B9=E4=B8=BA=E5=85=A8=E9=83=A8?= =?UTF-8?q?=E5=8F=AF=E9=80=89=E5=B1=9E=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/FormBuilder/FormBuilder.d.ts | 9 ++++++++- src/components/Search/index.d.ts | 3 ++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/components/FormBuilder/FormBuilder.d.ts b/src/components/FormBuilder/FormBuilder.d.ts index 302300b..ed293d9 100644 --- a/src/components/FormBuilder/FormBuilder.d.ts +++ b/src/components/FormBuilder/FormBuilder.d.ts @@ -3,12 +3,19 @@ import type { Gutter } from "antd/es/grid/row"; import type { ReactElement, ReactNode } from "react"; import type { FormOption } from "./FormItemsRenderer"; +/** + * 深度部分类型,将所有嵌套属性都变为可选 + */ +export type DeepPartial = T extends object + ? { [P in keyof T]?: DeepPartial } + : T; + /** * FormBuilder 组件属性 */ export interface FormBuilderProps extends Omit { /** 表单初始值 */ - values?: Values; + values?: DeepPartial; /** 表单配置项数组 */ options: FormOption[]; /** 栅格间距,默认 24 */ diff --git a/src/components/Search/index.d.ts b/src/components/Search/index.d.ts index e0df83b..92a862b 100644 --- a/src/components/Search/index.d.ts +++ b/src/components/Search/index.d.ts @@ -1,6 +1,7 @@ import type { FormInstance, FormProps } from "antd/es/form"; import type { ReactElement, ReactNode } from "react"; import type { FormOption } from "../FormBuilder"; +import type { DeepPartial } from "../FormBuilder/FormBuilder"; export type { FormOption }; @@ -11,7 +12,7 @@ export interface SearchProps extends Omit[]; /** 表单值 */ - values?: Values; + values?: DeepPartial; /** 搜索和重置都会触发的回调 */ onFinish?: (values: Values, type: "submit" | "reset") => void; /** 搜索回调 */