From d92cbe0b9e701eb0cb51021ed461afb926a36589 Mon Sep 17 00:00:00 2001 From: LiuJiaNan <15703339975@163.com> Date: Mon, 10 Nov 2025 16:39:38 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96FormItemsRenderer?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/FormBuilder/FormItemsRenderer.d.ts | 2 ++ components/FormBuilder/FormItemsRenderer.js | 14 ++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/components/FormBuilder/FormItemsRenderer.d.ts b/components/FormBuilder/FormItemsRenderer.d.ts index f9d79ed..491ee57 100644 --- a/components/FormBuilder/FormItemsRenderer.d.ts +++ b/components/FormBuilder/FormItemsRenderer.d.ts @@ -79,6 +79,8 @@ export interface FormOption { shouldUpdate?: boolean | ((prevValues: FormValues, nextValues: FormValues, info: { source?: string }) => boolean); /** 依赖字段(用于表单联动) */ dependencies?: NamePath[]; + /** 是否仅用于保存标签,不渲染到页面上,只在表单中保存数据,默认 false */ + onlyForLabel?: boolean; } /** diff --git a/components/FormBuilder/FormItemsRenderer.js b/components/FormBuilder/FormItemsRenderer.js index 05c2782..311d44d 100644 --- a/components/FormBuilder/FormItemsRenderer.js +++ b/components/FormBuilder/FormItemsRenderer.js @@ -272,6 +272,20 @@ const FormItemsRenderer = ({ return ( <> {options.map((option, index) => { + // 如果是 onlyForLabel 类型,不渲染任何UI,只在表单中保存数据 + if (option.onlyForLabel) { + return ( + + + + ); + } + // 列数 const itemSpan = option.render === FORM_ITEM_RENDER_ENUM.DIVIDER ? 24 : option.span ?? span; const itemLabelCol = option.labelCol ?? (itemSpan === 24 ? { span: labelCol.span / 2 } : labelCol);