mirror of
https://github.com/Syngnat/GoNavi.git
synced 2026-07-14 00:42:17 +08:00
🐛 fix(query-result): 修复SQL执行后结果面板崩溃
- 提前解析当前激活结果页 key - 避免构造结果 tab 时读取未初始化变量 - 修复 MySQL SELECT 成功返回后编辑器闪退问题
This commit is contained in:
@@ -93,6 +93,12 @@ const QueryEditorResultsPanel: React.FC<QueryEditorResultsPanelProps> = ({
|
||||
const hideTooltipTitle = toggleShortcutLabel
|
||||
? t('query_editor.results_panel.tooltip.hide_with_shortcut', { shortcut: toggleShortcutLabel })
|
||||
: t('query_editor.results_panel.tooltip.hide');
|
||||
const activeResultKeyExists = activeResultKey === QUERY_EDITOR_SQL_LOG_TAB_KEY
|
||||
? shouldShowSqlLogTab
|
||||
: resultSets.some((result) => result.key === activeResultKey);
|
||||
const resolvedActiveResultKey = activeResultKeyExists
|
||||
? activeResultKey
|
||||
: resultSets[0]?.key || (shouldShowSqlLogTab ? QUERY_EDITOR_SQL_LOG_TAB_KEY : '');
|
||||
|
||||
const handleMessageTextareaKeyDown = (event: React.KeyboardEvent<HTMLTextAreaElement>) => {
|
||||
if (!(event.ctrlKey || event.metaKey) || event.altKey || event.shiftKey || event.key.toLowerCase() !== 'a') {
|
||||
@@ -335,12 +341,6 @@ const QueryEditorResultsPanel: React.FC<QueryEditorResultsPanelProps> = ({
|
||||
}
|
||||
: null;
|
||||
const tabItems = logTabItem ? [logTabItem, ...resultTabItems] : resultTabItems;
|
||||
|
||||
const resolvedActiveResultKey = (() => {
|
||||
if (activeResultKey && tabItems.some((item) => item.key === activeResultKey)) return activeResultKey;
|
||||
if (resultSets[0]?.key) return resultSets[0].key;
|
||||
return shouldShowSqlLogTab ? QUERY_EDITOR_SQL_LOG_TAB_KEY : '';
|
||||
})();
|
||||
const activeResultSet = resultSets.find((rs) => rs.key === resolvedActiveResultKey) || null;
|
||||
const activeResultUsesDataGrid = Boolean(activeResultSet && activeResultSet.resultType !== 'message' && !isAffectedRowsResult(activeResultSet));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user