diff --git a/packages/editor-core/src/config.ts b/packages/editor-core/src/config.ts index 398b7b7fe..f82db6d53 100644 --- a/packages/editor-core/src/config.ts +++ b/packages/editor-core/src/config.ts @@ -55,6 +55,10 @@ export interface EngineOptions { * 打开画布的锁定操作,默认值:false */ enableCanvasLock: boolean; + /** + * 当选中节点切换时,是否停留在相同的设置 tab 上,默认值:false + */ + stayOnTheSameSettingTab: boolean; /** * Vision-polyfill settings */ diff --git a/packages/editor-skeleton/src/components/settings/settings-primary-pane.tsx b/packages/editor-skeleton/src/components/settings/settings-primary-pane.tsx index c95f3e7d1..a3da762aa 100644 --- a/packages/editor-skeleton/src/components/settings/settings-primary-pane.tsx +++ b/packages/editor-skeleton/src/components/settings/settings-primary-pane.tsx @@ -1,6 +1,6 @@ import React, { Component } from 'react'; import { Tab, Breadcrumb } from '@alifd/next'; -import { Title, observer, Editor, obx, globalContext } from '@ali/lowcode-editor-core'; +import { Title, observer, Editor, obx, globalContext, engineConfig } from '@ali/lowcode-editor-core'; import { Node, isSettingField, SettingField, Designer } from '@ali/lowcode-designer'; import { SettingsMain } from './main'; import { SettingsPane } from './settings-pane'; @@ -24,7 +24,9 @@ export class SettingsPrimaryPane extends Component<{ editor: Editor; config: any this.setShouldIgnoreRoot(); this.props.editor.on('designer.selection.change', () => { - this._activeKey = null; + if (!engineConfig.get('stayOnTheSameSettingTab', false)) { + this._activeKey = null; + } }); }