diff --git a/core/core-frontend/src/components/data-visualization/canvas/Shape.vue b/core/core-frontend/src/components/data-visualization/canvas/Shape.vue
index f55b9e2de0..e2353ecfbb 100644
--- a/core/core-frontend/src/components/data-visualization/canvas/Shape.vue
+++ b/core/core-frontend/src/components/data-visualization/canvas/Shape.vue
@@ -772,9 +772,13 @@ const handleMouseDownOnPoint = (point, e) => {
dashboardActive.value && emit('onResizing', moveEvent)
element.value['resizing'] = true
//如果当前组件是Group分组或者Tab 则要进行内部组件深度计算
- if (['DeTabs', 'Group'].includes(element.value.component)) {
+ if (
+ ['Group'].includes(element.value.component) ||
+ (['DeTabs'].includes(element.value.component) && !element.value.resizeInnerKeep)
+ ) {
groupSizeStyleAdaptor(element.value)
}
+
//如果当前画布是Group内部画布 则对应组件定位在resize时要还原到groupStyle中
if (isGroupCanvas(canvasId.value) || isTabCanvas(canvasId.value)) {
groupStyleRevert(element.value, {
diff --git a/core/core-frontend/src/components/visualization/common/ComponentPosition.vue b/core/core-frontend/src/components/visualization/common/ComponentPosition.vue
index bea33fd1bb..45cf6ac003 100644
--- a/core/core-frontend/src/components/visualization/common/ComponentPosition.vue
+++ b/core/core-frontend/src/components/visualization/common/ComponentPosition.vue
@@ -17,6 +17,20 @@
+
+
+ 调整大小保持内部组件尺寸
+
+
{
snapshotStore.recordSnapshotCache()
}
+const snapshotChange = () => {
+ snapshotStore.recordSnapshotCache()
+}
+
const positionInit = () => {
if (curComponent.value) {
canvasId.value = curComponent.value.canvasId
diff --git a/core/core-frontend/src/utils/canvasUtils.ts b/core/core-frontend/src/utils/canvasUtils.ts
index e01fff11d9..3ab5adccfe 100644
--- a/core/core-frontend/src/utils/canvasUtils.ts
+++ b/core/core-frontend/src/utils/canvasUtils.ts
@@ -152,9 +152,8 @@ export function historyItemAdaptor(
componentItem.style['titleHide'] = componentItem.style['titleHide'] || false
}
- if (componentItem.component === 'Group') {
- componentItem.expand = componentItem.expand || false
- }
+ componentItem['expand'] = componentItem['expand'] || false
+ componentItem['resizeInnerKeep'] = componentItem['resizeInnerKeep'] || false
if (componentItem.component === 'Picture') {
componentItem.style['adaptation'] = componentItem.style['adaptation'] || 'adaptation'