From 32d15877ff09c3426ec0dfa50027bd3634d27445 Mon Sep 17 00:00:00 2001 From: cheeseburgertony <1821955020@qq.com> Date: Mon, 10 Nov 2025 22:11:29 +0800 Subject: [PATCH] fix: restrict Pagination QuickJumper to numeric input only --- src/Options.tsx | 5 ++++- tests/jumper.test.tsx | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/Options.tsx b/src/Options.tsx index 9608697c..8e7b1118 100644 --- a/src/Options.tsx +++ b/src/Options.tsx @@ -60,7 +60,10 @@ const Options: React.FC = (props) => { : (value: string | number) => `${value} ${locale.items_per_page}`; const handleChange = (e: React.ChangeEvent) => { - setGoInputText(e.target.value); + const value = e.target.value; + if (/^\d*$/.test(value)) { + setGoInputText(value); + } }; const handleBlur = (e: React.FocusEvent) => { diff --git a/tests/jumper.test.tsx b/tests/jumper.test.tsx index 39f0f5fe..f87dbcb7 100644 --- a/tests/jumper.test.tsx +++ b/tests/jumper.test.tsx @@ -29,6 +29,8 @@ describe('Pagination with jumper', () => { expect(quickJumper).toBeTruthy(); const input = quickJumper.querySelector('input'); fireEvent.change(input, { target: { value: '-1' } }); + expect(input.value).toBe(''); + fireEvent.change(input, { target: { value: '1' } }); fireEvent.keyUp(input, { key: 'Enter', keyCode: 13, which: 13 }); expect($$('.rc-pagination-item-active')).toHaveTextContent('1'); expect(onChange).toHaveBeenLastCalledWith(1, 10);