diff --git a/packages/canvas/render/src/canvas-function/custom-renderer.ts b/packages/canvas/render/src/canvas-function/custom-renderer.ts index 7b0d4773c..3c7bfd2e9 100644 --- a/packages/canvas/render/src/canvas-function/custom-renderer.ts +++ b/packages/canvas/render/src/canvas-function/custom-renderer.ts @@ -7,6 +7,7 @@ function defaultRenderer(schema, refreshKey, entry, active, isPage = true) { const rootChildrenSchema = { id: 0, componentName: 'div', + componentType: 'PageSection', // 手动添加一个唯一的属性,后续在画布选中此节点时方便处理额外的逻辑。由于没有修改schema,不会影响出码 props: { ...schema.props, 'data-id': 'root-container', 'data-page-active': active }, children: schema.children diff --git a/packages/canvas/render/src/material-function/handle-scoped-css.ts b/packages/canvas/render/src/material-function/handle-scoped-css.ts index 0f259507c..8c831463e 100644 --- a/packages/canvas/render/src/material-function/handle-scoped-css.ts +++ b/packages/canvas/render/src/material-function/handle-scoped-css.ts @@ -2,5 +2,5 @@ import postcss from 'postcss' import scopedPlugin from './scope-css-plugin' export function handleScopedCss(id: string, content: string) { - return postcss([scopedPlugin(id)]).process(content) + return postcss([scopedPlugin(id)]).process(content, { from: undefined }) } diff --git a/packages/canvas/render/src/material-function/page-getter.ts b/packages/canvas/render/src/material-function/page-getter.ts index ab65b4956..520b577a2 100644 --- a/packages/canvas/render/src/material-function/page-getter.ts +++ b/packages/canvas/render/src/material-function/page-getter.ts @@ -50,6 +50,7 @@ export const wrapPageComponent = (pageId: string) => { () => active.value, (activeValue) => { if (!activeValue) { + asyncData.value = null updateSchema() } } diff --git a/packages/canvas/render/src/render.ts b/packages/canvas/render/src/render.ts index 95ec2a3a7..287264dd8 100644 --- a/packages/canvas/render/src/render.ts +++ b/packages/canvas/render/src/render.ts @@ -82,7 +82,7 @@ const checkGroup = (componentName) => configure[componentName]?.nestingRule?.chi const clickCapture = (componentName) => configure[componentName]?.clickCapture !== false const getBindProps = (schema, scope, context, pageContext) => { - const { id, componentName } = schema + const { id, componentName, componentType } = schema const invalidity = configure[componentName]?.invalidity || [] if (componentName === 'CanvasPlaceholder') { @@ -120,7 +120,7 @@ const getBindProps = (schema, scope, context, pageContext) => { delete bindProps.className // 使画布中元素可拖拽 - if (active) { + if (active && !['PageStart', 'PageSection'].includes(componentType)) { bindProps.draggable = true }