Skip to content

Commit f2a5bc3

Browse files
committed
fix:Switching tab causes edit data reset problem
1 parent 3aa781a commit f2a5bc3

4 files changed

Lines changed: 18 additions & 9 deletions

File tree

chat2db-client/src/components/SearchResult/components/TableBox/index.tsx

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React, { useEffect, useMemo, useState, useContext } from 'react';
1+
import React, { useEffect, useMemo, useState } from 'react';
22
import { Dropdown, Input, MenuProps, message, Modal, Space, Popover, Spin, Button } from 'antd';
33
import { BaseTable, ArtColumn, useTablePipeline, features, SortItem } from 'ali-react-table';
44
import styled from 'styled-components';
@@ -37,7 +37,6 @@ import MonacoEditor from '../../../MonacoEditor';
3737
import MyPagination from '../Pagination';
3838
import StatusBar from '../StatusBar';
3939
import RightClickMenu, { AllSupportedMenusType } from '../RightClickMenu';
40-
import { Context } from '../../index';
4140

4241
// 自定义hooks
4342
import useCurdTableData from '../../hooks/useCurdTableData';
@@ -49,6 +48,7 @@ interface ITableProps {
4948
outerQueryResultData: IManageResultData;
5049
executeSqlParams: any;
5150
tableBoxId: string;
51+
isActive?: boolean;
5252
}
5353

5454
interface IViewTableCellData {
@@ -102,10 +102,9 @@ const defaultPaginationConfig: IResultConfig = {
102102
export const TableContext = React.createContext({} as any);
103103

104104
export default function TableBox(props: ITableProps) {
105-
const { className, outerQueryResultData, tableBoxId } = props;
105+
const { className, outerQueryResultData, isActive } = props;
106106
const [viewTableCellData, setViewTableCellData] = useState<IViewTableCellData | null>(null);
107107
const [, contextHolder] = message.useMessage();
108-
const { activeTabId } = useContext(Context);
109108
const [paginationConfig, setPaginationConfig] = useState<IResultConfig>(defaultPaginationConfig);
110109
// sql查询结果
111110
const [queryResultData, setQueryResultData] = useState<IManageResultData>(outerQueryResultData);
@@ -1096,6 +1095,7 @@ export default function TableBox(props: ITableProps) {
10961095
}, [queryResultData, viewTableCellData]);
10971096

10981097
return (
1098+
isActive ?
10991099
<div className={classnames(className, styles.tableBox, { [styles.noDataTableBox]: !tableData.length })}>
11001100
{renderContent()}
11011101
<Modal
@@ -1142,5 +1142,6 @@ export default function TableBox(props: ITableProps) {
11421142
</Modal>
11431143
{contextHolder}
11441144
</div>
1145+
: false
11451146
);
11461147
}

chat2db-client/src/components/SearchResult/index.tsx

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ import i18n from '@/i18n';
2424
import sqlServer, { IExecuteSqlParams } from '@/service/sql';
2525
import { v4 as uuidV4 } from 'uuid';
2626
import { Spin } from 'antd';
27-
import { useWorkspaceStore } from '@/pages/main/workspace/store';
2827

2928
interface IProps {
3029
className?: string;
@@ -113,11 +112,11 @@ export default forwardRef((props: IProps, ref: ForwardedRef<ISearchResultRef>) =
113112
function renderSuccessResult() {
114113
const needTable = queryResultData?.headerList?.length > 1;
115114
return (
116-
isActive ?
117115
<div className={styles.successResult}>
118116
<div className={styles.successResultContent}>
119117
{needTable ? (
120118
<TableBox
119+
isActive={isActive}
121120
tableBoxId={queryResultData.uuid}
122121
key={queryResultData.uuid}
123122
outerQueryResultData={queryResultData}
@@ -137,8 +136,6 @@ export default forwardRef((props: IProps, ref: ForwardedRef<ISearchResultRef>) =
137136
)}
138137
</div>
139138
</div>
140-
:
141-
false
142139
);
143140
}
144141
return (

chat2db-client/src/components/Tabs/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import React, { memo, useEffect, useState, useRef } from 'react';
22
import classnames from 'classnames';
33
import Iconfont from '@/components/Iconfont';
4-
import { Popover, Dropdown, MenuProps } from 'antd';
4+
import { Popover, Dropdown } from 'antd';
55
import i18n from '@/i18n';
66
import { isValid } from '@/utils/check';
77
import _ from 'lodash';

chat2db-client/src/pages/main/workspace/components/WorkspaceTabs/index.tsx

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,17 @@ const WorkspaceTabs = memo(() => {
124124
name: t.label,
125125
};
126126
historyService.updateSavedConsole(_params);
127+
128+
const _workspaceTabList:any = workspaceTabList?.map((item) => {
129+
if (item.id === t.key) {
130+
return {
131+
...item,
132+
title: t.label,
133+
};
134+
}
135+
return item;
136+
}) || []
137+
setWorkspaceTabList(_workspaceTabList)
127138
};
128139

129140
// 修改tab详情

0 commit comments

Comments
 (0)