Open xiaomaisu opened 11 months ago
可以试一下最新的 API
https://lowcode-engine.cn/site/docs/api/skeleton#registerconfigtransducer
通过这个 API,可以修改 skeleton 的配置,修改到指定的区域。
@alilc/lowcode-engine 1.2.2 里的 skeleton 没有registerConfigTransducer 这个方法,是需要额外进行什么操作嘛 @liujuping
升级到最新的 beta 才有,现在还没发布正式版本
不好意思,我试了一下,@alilc/lowcode-plugin-schema 之前是在 leftArea 的 panelBlock, 现在我想把这个按钮移到顶部,我试了一下这样的写法,if (config.name.indexOf('Schema')!==-1) { config.area = 'topArea'; config.align = 'left'; config.type = 'Widget'; }
但是发现 schema 的图标是看不到的,是不是不能这么操作哈
还有 @alilc/lowcode-plugin-outline-pane 这个插件我使用 registerConfigTransducer 也没有数据,是 lowcode-engine 默认的插件使用不了 registerConfigTransducer 嘛
1.通过输出 config,确定 config 中应该改变的内容。
2.默认插件也可以使用这个 API 的,看看是不是没有找到正确的 name。
多通过输出调试一下。
还有看看你注册 registerConfigTransducer 的时机,如果放到 init 函数中,会在大纲树插件注册之后,就没有办法获取到数据了,放到外层试一下。
@alilc/lowcode-plugin-schema 这个的 config 是:{"area":"leftArea","name":"LowcodePluginAliLowcodePluginSchema","type":"PanelDock","props":{"align":"bottom","icon":"ellipsis","description":"Schema"},"panelProps":{"width":"calc(100% - 50px)"},"pluginName":"LowcodePluginAliLowcodePluginSchema","pluginKey":"LowcodePluginAliLowcodePluginSchema","parsed":true}
我理解需要移动它到其它位置进行样式变更只有 area、type 这些需要修改,是还需要输出哪些信息确认吗;
注册 registerConfigTransducer 是放在 init 之前进行的,但还是获取不到大纲树插件内容 skeleton.registerConfigTransducer?.((config)=> { console.warn(JSON.stringify(config)); return config; }, 1);
init(containerRef.current!, {
enableCondition: true,
enableCanvasLock: true,
supportVariableGlobally: true,
device: 'mobile'
});
我也遇到了这个问题
希望可以使用到 @alilc/lowcode-plugin-outline-pane 和 @alilc/lowcode-plugin-schema 等官方插件的功能,但是展示位置走自定义,目前这两个插件的位置均固定在了 leftArea。
尝试使用 https://lowcode-engine.cn/site/docs/faq/faq010 提到的插件面板调整位置; 具体执行代码为: skeleton.add({ area: 'topArea', type: 'Widget', name: 'outlinePane', index: -1 });
控制台提醒:react-dom.development.js:14483 Uncaught Error: n(...): Nothing was returned from render. This usually means a return statement is missing. Or, to render nothing, return null.
如果设置了 content 的话则无法达到改变 outlinePane plugin 位置的效果,而是新增了一个顶部的 icon; skeleton.add({ area: 'topArea', type: 'Widget', name: 'outlinePane', index: -1, content: () => 'xxx', props: { icon: () => 'x' / ReactElement 也可以 / }, });
Environments (please complete the following information) (required): / 请提供如下信息(必填)
@alilc/lowcode-engine 1.2.2