From 50751136faacb021f8322645364f4bcc3f3453d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=9F=E8=B4=A4?= Date: Fri, 12 Jul 2024 15:20:30 +0800 Subject: [PATCH] fix(form): Digit support stringMode close https://github.com/ant-design/pro-components/issues/8553 --- packages/field/src/components/Digit/index.tsx | 7 +- .../FieldSet/demos/components-other.tsx | 42 +++++++++ tests/form/__snapshots__/demo.test.ts.snap | 94 +++++++++++++++++++ 3 files changed, 142 insertions(+), 1 deletion(-) diff --git a/packages/field/src/components/Digit/index.tsx b/packages/field/src/components/Digit/index.tsx index 1b907882d416..306435777841 100644 --- a/packages/field/src/components/Digit/index.tsx +++ b/packages/field/src/components/Digit/index.tsx @@ -58,9 +58,14 @@ const FieldDigit: ProFieldFC = ( ...fractionDigits, ...(fieldProps?.intlProps || {}), }).format(Number(text) as number); - const dom = ( + + // 如果是 string 模式,什么都不要处理了 + const dom = !fieldProps?.stringMode ? ( {fieldProps?.formatter?.(digit) || digit} + ) : ( + {text} ); + if (render) { return render(text, { mode: type, ...fieldProps }, dom); } diff --git a/packages/form/src/components/FieldSet/demos/components-other.tsx b/packages/form/src/components/FieldSet/demos/components-other.tsx index bf1943bf6a36..aef77663d297 100644 --- a/packages/form/src/components/FieldSet/demos/components-other.tsx +++ b/packages/form/src/components/FieldSet/demos/components-other.tsx @@ -1,5 +1,6 @@ import { ProForm, + ProFormCascader, ProFormCheckbox, ProFormColorPicker, ProFormDigit, @@ -171,6 +172,47 @@ const Demo = () => { }, ]} /> + [ + { + value: 'zhejiang', + label: '浙江', + children: [ + { + value: 'hangzhou', + label: '杭州', + children: [ + { + value: 'xihu', + label: '西湖', + }, + ], + }, + ], + }, + { + value: 'jiangsu', + label: 'Jiangsu', + children: [ + { + value: 'nanjing', + label: 'Nanjing', + children: [ + { + value: 'zhonghuamen', + label: 'Zhong Hua Men', + }, + ], + }, + ], + }, + ]} + fieldProps={{ + changeOnSelect: true, + }} + name="area" + /> 📸 renders ./packages/form/src/components/FieldSet/demos +
+
+
+
+ +
+
+
+
+
+
+ + + + + 请选择 + +
+ +
+
+
+
+
+
+