From 28f685ffebadee8b923474427ee48b66de48637b Mon Sep 17 00:00:00 2001 From: Zeke Zhang <958414905@qq.com> Date: Mon, 14 Oct 2024 19:43:23 +0800 Subject: [PATCH] fix(bulkEdit): prevent incorrect URL modification --- .../src/schema-component/antd/tabs/Tabs.tsx | 38 ++++++++++++------- 1 file changed, 25 insertions(+), 13 deletions(-) diff --git a/packages/core/client/src/schema-component/antd/tabs/Tabs.tsx b/packages/core/client/src/schema-component/antd/tabs/Tabs.tsx index 515b4e3c680..8bb02a70c0e 100644 --- a/packages/core/client/src/schema-component/antd/tabs/Tabs.tsx +++ b/packages/core/client/src/schema-component/antd/tabs/Tabs.tsx @@ -11,13 +11,13 @@ import { css } from '@emotion/css'; import { observer, RecursionField, useField, useFieldSchema } from '@formily/react'; import { Tabs as AntdTabs, TabPaneProps, TabsProps } from 'antd'; import classNames from 'classnames'; -import React, { useMemo } from 'react'; +import React, { useCallback, useMemo } from 'react'; import { useSchemaInitializerRender } from '../../../application'; import { Icon } from '../../../icon'; import { DndContext, SortableItem } from '../../common'; import { SchemaComponent } from '../../core'; import { useDesigner } from '../../hooks/useDesigner'; -import { useTabsContext } from './context'; +import { TabsContextProvider, useTabsContext } from './context'; import { TabsDesigner } from './Tabs.Designer'; export const Tabs: any = observer( @@ -55,19 +55,31 @@ export const Tabs: any = observer( return contextProps.activeKey; }, [contextProps.activeKey, items]); + const onChange = useCallback( + (key: string) => { + if (items.some((item) => item.key === key)) { + contextProps.onChange?.(key); + } + }, + [contextProps.onChange, items], + ); + return ( - + + + ); },