alibaba / lowcode-engine

An enterprise-class low-code technology stack with scale-out design / 一套面向扩展设计的企业级低代码技术体系
https://lowcode-engine.cn
MIT License
14.68k stars 2.55k forks source link

能否提供动态修改schema的api #1709

Closed ChiZng closed 1 year ago

ChiZng commented 1 year ago

需求背景:拖入组件的时候想通过程序修改容器schema中的methods和state,不用在拖入组件后在源码面板中手写state和methods。现在只能先project.exportSchema()修改了之后再importSchema()。但是这样会导致页面重新加载。能不能提供一些api来修改这个结构描述,并且不让页面来重新加载。 现在修改了源码面板,页面也会重新加载导致失去选中的组件。

或者能不能提供一些实现的思路。

ChiZng commented 1 year ago

主要是修改rootSchema中ContainerSchema的属性。例如state,methods,css等

ChiZng commented 1 year ago

@liujuping 我看现在Node对象中extras使用props处理的,没有保存状态。能不想像project对象中set(key:|'version' | 'componentsTree' | 'componentsMap'...) 这个方法这样将Root Container Extra Properties的值保存到node中然后开放出来修改api。这么做有什么问题吗,按这个方案修改的时候需要注意什么?

LeoYuan commented 1 year ago

参考这个?https://github.com/alibaba/lowcode-engine/issues/1712#issuecomment-1467264368

ChiZng commented 1 year ago

好的

ChiZng commented 1 year ago

热心群众那个方法可以:+1: