diff --git a/packages/field/src/components/Digit/index.tsx b/packages/field/src/components/Digit/index.tsx index 00a93db17ed8..5dbd23e02004 100644 --- a/packages/field/src/components/Digit/index.tsx +++ b/packages/field/src/components/Digit/index.tsx @@ -42,7 +42,7 @@ const FieldDigit: ProFieldFC = ( ) { val = Number(val.toFixed(fieldProps.precision)); } - return fieldProps?.onChange?.(val); + return val; }, [fieldProps], ); @@ -72,8 +72,9 @@ const FieldDigit: ProFieldFC = ( ref={ref} min={0} placeholder={placeholderValue} - {...omit(fieldProps, ['onChange'])} - onChange={proxyChange} + {...omit(fieldProps, ['onChange', 'onBlur'])} + onChange={(e) => fieldProps?.onChange?.(proxyChange(e))} + onBlur={(e) => fieldProps?.onBlur?.(proxyChange(e.target.value))} /> ); if (renderFormItem) { diff --git a/packages/field/src/components/Money/index.tsx b/packages/field/src/components/Money/index.tsx index 5ad1fe4c4576..278af597c9e7 100644 --- a/packages/field/src/components/Money/index.tsx +++ b/packages/field/src/components/Money/index.tsx @@ -403,6 +403,20 @@ const FieldMoney: ProFieldFC = ( 'visible', 'open', ])} + onBlur={ + fieldProps.onBlur + ? (e) => { + let value = e.target.value; + if (moneySymbol && value) { + value = value.replace( + new RegExp(`\\${moneySymbol}\\s?|(,*)`, 'g'), + '', + ); + } + fieldProps.onBlur?.(value); + } + : undefined + } /> ); diff --git a/packages/form/src/components/FieldSet/index.tsx b/packages/form/src/components/FieldSet/index.tsx index b2b0777f7184..a4338c82ecd9 100644 --- a/packages/form/src/components/FieldSet/index.tsx +++ b/packages/form/src/components/FieldSet/index.tsx @@ -110,7 +110,7 @@ const FieldSet: React.FC = ({ const Wrapper: React.FC = useCallback( ({ children: dom }: { children?: React.ReactNode }) => ( - + {dom} ), diff --git a/packages/form/src/demos/money.tsx b/packages/form/src/demos/money.tsx index fd4c74ce6218..a8d41c3785f1 100644 --- a/packages/form/src/demos/money.tsx +++ b/packages/form/src/demos/money.tsx @@ -71,6 +71,7 @@ export default () => { locale="en-US" initialValue={22.22} min={0} + trigger="onBlur" />
1
-
2
-
3
@@ -6576,21 +6578,23 @@ exports[`form demos 📸 renders ./packages/form/src/components/FieldSet/demos/c >
1
2
3
@@ -6673,33 +6677,35 @@ exports[`form demos 📸 renders ./packages/form/src/components/FieldSet/demos/c >
1
-
2
-
3
@@ -8625,10 +8631,11 @@ exports[`form demos 📸 renders ./packages/form/src/components/FieldSet/demos/f >
1
-
2
-
3
@@ -13661,10 +13671,11 @@ exports[`form demos 📸 renders ./packages/form/src/components/Group/demos/list >
-
-
- -
+
- - - - - +
+
+
+
- - - - - +
+ + + + + + +
+
+
+
+
+
-
-
-
-
-
-
-
-
- -
-
- - - - - +
+
+
+
- - - - - + + + + + + + + +
+
+
+
-
-
-
- -
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
- - - - - - - - - - -
-
-
-
-
-
-
-
- -
-
-
-
-
-
- - - - - - -
-
-
-
-
-
-
-
+
+ + - -
-
- -
-
-
-
-
-
-
+ + 重 置 + +
@@ -33479,10 +33068,11 @@ exports[`form demos 📸 renders ./packages/form/src/components/SchemaForm/demos >