云遮夏靥
云遮夏靥
workbench即@alilc/lowcode-editor-skeleton/src/layouts/workbench.tsx的自定义。 期望能够自行设计编辑器框架 View,自行划分渲染rightArea等区域。 使用方式期望是采用自定义@/alilc/lowcode-engine/src/engine-core.ts中inti函数的方式 ```ts init(...){ // do something render( createElement(CustomWorkbench, {skeleton: innerSkeleton, ...}), engineContainer ) } ``` 或者config中设置view: CustomWorkbench; 或者engine-core.ts中的init函数能够接收一个CustomWorkbench参数来替换。 现在的workbench组件区域划分固定了topArea、leftArea、rightArea的位置,在项目中,页面结构的设计可能不是这样划分的,就需要对页面结构进行修改。 现在的@alilc/lowcode-editor-skeleton所导出的内容,不足以支撑上述CustomWorkbench的开发。
我们重新梳理了一下,从社区生态来讲,确实需要一个确定的框架结构才可以进行对应扩展。 然而我们本身希望,能够使用引擎提供能力的同时,重新设计框架结构。 能否提供Area、Skeleton、Widget等已有能力的导出,使得我们可以自行扩展? 例如: 我们将构建topArea、rightArea、mainArea、sliderArea、drawerArea等结构,并创建对应area。 我们将自行添加一系列plugin,或者将生态插件注册到对应位置。
解决了吗老哥 我在处理prop.value更改的时候,发现一个奇怪的问题,我明明已经重新设置ArraySeter里的items了,但是弃用的field实例会更新我的value,导致从多数列表更改到少数列表的时候,多出来的项会自动创建一个新的默认值的field。
场景: table组件中有filter属性,setter类型为FunctionSetter,当filter被修改时,onChangeNodeProp监听获取无误,但是当filter被移除时,无法触发onChangeNodeProp监听,则无法做相应处理。 下例为官网分页组件,提供的自定义页码属性。  在监听中,期望获取functionSetter类型的prop变化,包括当functionSetter移除的时候。
```js ... ```
初始化设计器时会初始化editor、designer、project等实例。 打开页面时则会根据初始schema初始化document实例及相关node实例。 上述实例链构成了整个设计器的内部运转模型。 而拖曳组件到画布上时,并不生成schema,而是new一个新的node实例,并挂载到对应document上。 拖拽控制可以看dragon模块。 document和node原型可以直搜。 schema是协议产物,内部运转是各实例组成的内部状态在起作用,document、node、props、prop上各有export与import方法,用于与schema进行对接。 完成schema是由project向下层层调用产出的实例产物。