2222</template >
2323
2424<script >
25- import { ref , watch , onUnmounted , onMounted } from ' vue'
25+ import { ref , watch , onUnmounted , onMounted , computed } from ' vue'
2626import {
2727 useProperties ,
2828 useCanvas ,
@@ -43,6 +43,7 @@ import {
4343import { constants } from ' @opentiny/tiny-engine-utils'
4444import * as ast from ' @opentiny/tiny-engine-common/js/ast'
4545import { initCanvas } from ' ../../init-canvas/init-canvas'
46+ import { useMultiSelect } from ' ../../container/src/composables/useMultiSelect'
4647import { getImportMapData } from ' ./importMap'
4748import meta from ' ../meta'
4849
@@ -152,6 +153,9 @@ export default {
152153 }
153154 )
154155
156+ const { multiSelectedStates } = useMultiSelect()
157+ const multiStateLength = computed(() => multiSelectedStates.value.length)
158+
155159 const nodeSelected = (node, parent, type, id) => {
156160 const { leftPanelFixed, rightPanelFixed } = getFixedPanelsStatus()
157161
@@ -176,7 +180,9 @@ export default {
176180
177181 // 如果选中的节点是画布,就设置成默认选中最外层schema
178182 useProperties().getProps(schemaItem || pageSchema, parent)
179- useCanvas().setCurrentSchema(schemaItem || pageSchema)
183+ const multiSchemas = multiSelectedStates.value.map(({ schema }) => schema)
184+ const currentSchema = multiStateLength.value > 1 ? multiSchemas : schemaItem || pageSchema
185+ useCanvas().setCurrentSchema(currentSchema)
180186 footData.value = getNodePath(schemaItem?.id)
181187 toolbars.visiblePopover = false
182188 }
0 commit comments