From ac7de44e7e462a90b9e1230f96ebbd1843c9ed97 Mon Sep 17 00:00:00 2001 From: afc163 Date: Thu, 21 May 2026 19:43:38 +0800 Subject: [PATCH] =?UTF-8?q?Revert=20"fix:=20keep=20onChange=20target=20mou?= =?UTF-8?q?nted=20when=20value=20does=20not=20need=20cloning=20(#=E2=80=A6?= =?UTF-8?q?"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 188913749db91fa6b15810eab5691d78bed4935b. --- src/utils/commonUtils.ts | 16 +--------------- tests/index.test.tsx | 13 ------------- 2 files changed, 1 insertion(+), 28 deletions(-) diff --git a/src/utils/commonUtils.ts b/src/utils/commonUtils.ts index fad7d94..0ab162c 100644 --- a/src/utils/commonUtils.ts +++ b/src/utils/commonUtils.ts @@ -45,16 +45,6 @@ function cloneEvent< return newEvent; } -function cloneEventWithTarget< - EventType extends React.SyntheticEvent, - Element extends HTMLInputElement | HTMLTextAreaElement, ->(event: EventType, target: Element): EventType { - return Object.create(event, { - target: { value: target }, - currentTarget: { value: target }, - }); -} - export function resolveOnChange< E extends HTMLInputElement | HTMLTextAreaElement, >( @@ -94,11 +84,7 @@ export function resolveOnChange< // https://github.com/ant-design/ant-design/issues/45737 // https://github.com/ant-design/ant-design/issues/46598 if (target.type !== 'file' && targetValue !== undefined) { - if (target.value !== targetValue) { - event = cloneEvent(e, target, targetValue); - } else { - event = cloneEventWithTarget(e, target); - } + event = cloneEvent(e, target, targetValue); onChange(event as React.ChangeEvent); return; } diff --git a/tests/index.test.tsx b/tests/index.test.tsx index 9349f8b..42469bc 100644 --- a/tests/index.test.tsx +++ b/tests/index.test.tsx @@ -439,19 +439,6 @@ describe('Input ref', () => { expect(spySetSelectionRange).toHaveBeenCalledWith(1, 2); }); - it('onChange target should be the mounted input when value is unchanged by formatter', () => { - const onChange = jest.fn(); - const { container } = render(); - const inputEl = container.querySelector('input')!; - - fireEvent.change(inputEl, { target: { value: 'test' } }); - - const event = onChange.mock.calls[0][0]; - expect(event.target).toBe(inputEl); - expect(event.currentTarget).toBe(inputEl); - expect(document.contains(event.target)).toBe(true); - }); - it('email type not support selection', () => { const onChange = jest.fn(); const { container } = render();