From 9a3550a50217d146b6923e8f2e39345656730de7 Mon Sep 17 00:00:00 2001 From: liaoyinglong Date: Fri, 18 Oct 2024 15:08:59 +0800 Subject: [PATCH] feat(tabs): add click handling for tab items in tests and implementation --- .../components/tabs/__tests__/tabs.test.tsx | 23 +++++++++++++++++++ packages/components/tabs/src/tab.tsx | 4 ++-- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/packages/components/tabs/__tests__/tabs.test.tsx b/packages/components/tabs/__tests__/tabs.test.tsx index fe7751e443..f000641a6f 100644 --- a/packages/components/tabs/__tests__/tabs.test.tsx +++ b/packages/components/tabs/__tests__/tabs.test.tsx @@ -388,4 +388,27 @@ describe("Tabs", () => { expect(input).toHaveValue("23"); }); + + it("Tab click should be handled", async () => { + const item1Click = jest.fn(); + const item2Click = jest.fn(); + const wrapper = render( + + +
Content 1
+
+ +
Content 2
+
+
, + ); + const tab1 = wrapper.getByTestId("item1"); + const tab2 = wrapper.getByTestId("item2"); + + await user.click(tab1); + expect(item1Click).toHaveBeenCalled(); + + await user.click(tab2); + expect(item2Click).toHaveBeenCalled(); + }); }); diff --git a/packages/components/tabs/src/tab.tsx b/packages/components/tabs/src/tab.tsx index 1be4868b4e..67a7c1ef03 100644 --- a/packages/components/tabs/src/tab.tsx +++ b/packages/components/tabs/src/tab.tsx @@ -78,8 +78,8 @@ const Tab = forwardRef<"button", TabItemProps>((props, ref) => { rerender: true, }); - const handleClick = () => { - chain(onClick, tabProps.onClick); + const handleClick = (...args: any[]) => { + chain(onClick, tabProps.onClick)(...args); if (!domRef?.current || !listRef?.current) return;