fix: 修改低代码组件 schema 参数值,修复使用低代码组件时显示不正确问题

This commit is contained in:
liujuping.liujupin 2021-08-19 14:21:44 +08:00 committed by lihao.ylh
parent 76435d4995
commit 5fec8f2697

View File

@ -20,7 +20,7 @@ import {
} from '@ali/lowcode-utils'; } from '@ali/lowcode-utils';
import { RootSchema, ComponentSchema, TransformStage, NodeSchema, ActivityType, ActivityData } from '@ali/lowcode-types'; import { RootSchema, ComponentSchema, TransformStage, NodeSchema, ActivityType, ActivityData } from '@ali/lowcode-types';
// just use types // just use types
import { BuiltinSimulatorRenderer, NodeInstance, Component, DocumentModel } from '@ali/lowcode-designer'; import { BuiltinSimulatorRenderer, NodeInstance, Component, DocumentModel, Node } from '@ali/lowcode-designer';
import LowCodeRenderer from '@ali/lowcode-react-renderer'; import LowCodeRenderer from '@ali/lowcode-react-renderer';
import { createMemoryHistory, MemoryHistory } from 'history'; import { createMemoryHistory, MemoryHistory } from 'history';
import Slot from './builtin-components/slot'; import Slot from './builtin-components/slot';
@ -474,13 +474,18 @@ export class SimulatorRendererContainer implements BuiltinSimulatorRenderer {
const renderer = this; const renderer = this;
const { componentsMap: components } = renderer; const { componentsMap: components } = renderer;
class LowCodeComp extends React.Component { class LowCodeComp extends React.Component<any, any> {
render() { render() {
const newSchema = host.designer.transformProps(_schema as any, {
componentMeta: {
prototype: 'lowcodeComp',
},
isRoot: () => false,
} as Node, TransformStage.Render);
const extraProps = getLowCodeComponentProps(this.props); const extraProps = getLowCodeComponentProps(this.props);
// @ts-ignore
return createElement(LowCodeRenderer, { return createElement(LowCodeRenderer, {
...extraProps, // 防止覆盖下面内置属性 ...extraProps, // 防止覆盖下面内置属性
schema: _schema, schema: newSchema,
components, components,
designMode: renderer.designMode, designMode: renderer.designMode,
device: renderer.device, device: renderer.device,