diff --git a/components/_util/BaseInput.tsx b/components/_util/BaseInput.tsx index e6bc9d7085..85080be3af 100644 --- a/components/_util/BaseInput.tsx +++ b/components/_util/BaseInput.tsx @@ -35,6 +35,7 @@ const BaseInput = defineComponent({ size: PropTypes.string, style: PropTypes.oneOfType([String, Object]), class: PropTypes.string, + valueModifiers: PropTypes.object, }, emits: [ 'change', @@ -86,6 +87,9 @@ const BaseInput = defineComponent({ }; const handleBlur = (e: Event) => { + if (props?.valueModifiers?.trim) { + (e.target as HTMLInputElement).value = (e.target as HTMLInputElement).value.trim(); + } emit('blur', e); }; const handleFocus = (e: Event) => { diff --git a/components/vc-input/BaseInput.tsx b/components/vc-input/BaseInput.tsx index 729ca6a47d..34aacb7899 100644 --- a/components/vc-input/BaseInput.tsx +++ b/components/vc-input/BaseInput.tsx @@ -72,10 +72,12 @@ export default defineComponent({ affixWrapperClassName, wrapperClassName, groupClassName, + valueModifiers, } = props; let element = cloneElement(inputElement, { value, hidden, + valueModifiers, }); // ================== Prefix & Suffix ================== // if (hasPrefixSuffix({ prefix, suffix, allowClear })) { diff --git a/components/vc-input/Input.tsx b/components/vc-input/Input.tsx index 55312b310f..98e3373b5d 100644 --- a/components/vc-input/Input.tsx +++ b/components/vc-input/Input.tsx @@ -231,7 +231,7 @@ export default defineComponent({ } }); return () => { - const { prefixCls, disabled, ...rest } = props; + const { prefixCls, disabled, valueModifiers, ...rest } = props; return ( ); diff --git a/components/vc-input/inputProps.ts b/components/vc-input/inputProps.ts index b56779b3cd..06f55430b3 100644 --- a/components/vc-input/inputProps.ts +++ b/components/vc-input/inputProps.ts @@ -46,6 +46,7 @@ export const baseInputProps = () => { readonly: { type: Boolean, default: undefined }, handleReset: Function as PropType, hidden: { type: Boolean, default: undefined }, + valueModifiers: { type: Object, default: undefined }, }; }; export const inputProps = () => ({