fix:【ele】【mall】修复 diy-editor 的“中心:设计区域(ComponentContainer)”宽度不对的问题

This commit is contained in:
YunaiV
2025-11-02 17:22:38 +08:00
parent 39ddf5a1ea
commit f984cb6dbd
2 changed files with 29 additions and 18 deletions

View File

@@ -128,7 +128,6 @@ const handleCloneComponent = (component: DiyComponent<any>) => {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
align-items: center; align-items: center;
width: 261px;
} }
.component { .component {

View File

@@ -339,10 +339,7 @@ onMounted(() => {
/> />
</ElAside> </ElAside>
<!-- 中心设计区域ComponentContainer --> <!-- 中心设计区域ComponentContainer -->
<ElContainer <div class="editor-center page-prop-area" @click="handlePageSelected">
class="editor-center page-prop-area"
@click="handlePageSelected"
>
<!-- 手机顶部 --> <!-- 手机顶部 -->
<div class="editor-design-top"> <div class="editor-design-top">
<!-- 手机顶部状态栏 --> <!-- 手机顶部状态栏 -->
@@ -373,7 +370,15 @@ onMounted(() => {
/> />
</div> </div>
<!-- 手机页面编辑区域 --> <!-- 手机页面编辑区域 -->
<ElScrollbar class="phone-container"> <ElScrollbar
:view-style="{
backgroundColor: pageConfigComponent.property.backgroundColor,
backgroundImage: `url(${pageConfigComponent.property.backgroundImage})`,
}"
height="100%"
view-class="phone-container"
wrap-class="editor-design-center page-prop-area"
>
<draggable <draggable
v-model="pageComponents" v-model="pageComponents"
:animation="200" :animation="200"
@@ -415,39 +420,45 @@ onMounted(() => {
/> />
</div> </div>
<!-- 固定布局的组件 操作按钮区 --> <!-- 固定布局的组件 操作按钮区 -->
<div class="fixed-component-action-group gap-2"> <div class="fixed-component-action-group">
<ElTag <ElTag
v-if="showPageConfig" v-if="showPageConfig"
:color=" :effect="
selectedComponent?.uid === pageConfigComponent.uid selectedComponent?.uid === pageConfigComponent.uid
? 'blue' ? 'dark'
: 'default' : 'plain'
"
:type="
selectedComponent?.uid === pageConfigComponent.uid
? 'primary'
: 'info'
" "
:bordered="false"
size="large" size="large"
@click="handleComponentSelected(pageConfigComponent)" @click="handleComponentSelected(pageConfigComponent)"
> >
<IconifyIcon :icon="pageConfigComponent.icon" :size="12" /> <IconifyIcon :icon="pageConfigComponent.icon" :size="12" />
<ElText>{{ pageConfigComponent.name }}</ElText> <span>{{ pageConfigComponent.name }}</span>
</ElTag> </ElTag>
<template v-for="(component, index) in pageComponents" :key="index"> <template v-for="(component, index) in pageComponents" :key="index">
<ElTag <ElTag
v-if="component.position === 'fixed'" v-if="component.position === 'fixed'"
:color=" :effect="
selectedComponent?.uid === component.uid ? 'blue' : 'default' selectedComponent?.uid === component.uid ? 'dark' : 'plain'
"
:type="
selectedComponent?.uid === component.uid ? 'primary' : 'info'
" "
:bordered="false"
closable closable
size="large" size="large"
@click="handleComponentSelected(component)" @click="handleComponentSelected(component)"
@close="handleDeleteComponent(index)" @close="handleDeleteComponent(index)"
> >
<IconifyIcon :icon="component.icon" :size="12" /> <IconifyIcon :icon="component.icon" :size="12" />
<ElText>{{ component.name }}</ElText> <span>{{ component.name }}</span>
</ElTag> </ElTag>
</template> </template>
</div> </div>
</ElContainer> </div>
<!-- 右侧属性面板ComponentContainerProperty --> <!-- 右侧属性面板ComponentContainerProperty -->
<ElAside <ElAside
v-if="selectedComponent?.property" v-if="selectedComponent?.property"
@@ -457,7 +468,7 @@ onMounted(() => {
<ElCard <ElCard
body-class="h-[calc(100%-var(--el-card-padding)-var(--el-card-padding))]" body-class="h-[calc(100%-var(--el-card-padding)-var(--el-card-padding))]"
class="h-full" class="h-full"
:bordered="false" shadow="never"
> >
<!-- 组件名称 --> <!-- 组件名称 -->
<template #header> <template #header>
@@ -621,6 +632,7 @@ $phone-width: 375px;
right: 16px; right: 16px;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
gap: 8px;
:deep(.el-tag) { :deep(.el-tag) {
border: none; border: none;