尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

lowcode-engine Procode 物料如何注入配置以调用 reloadDataSource 数据源方法

发布时间:2026/9/15 18:17:00

资讯中心
01
ARTICLE

lowcode-engine Procode 物料如何注入配置以调用 reloadDataSource 数据源方法

lowcode-engine Procode 物料如何注入配置以调用 reloadDataSource 数据源方法
lowcode-engine Procode 物料如何注入配置以调用 reloadDataSource 数据源方法【免费下载链接】lowcode-engineAn enterprise-class low-code technology stack with scale-out design / 一套面向扩展设计的企业级低代码技术体系项目地址: https://gitcode.com/GitHub_Trending/lo/lowcode-engine在 lowcode-engine 中开发 Procode 物料时常需要在物料组件内部主动触发数据源重新加载。引擎在组件容器实例this上约定了this.reloadDataSource()这一容器 API返回Promise用于重载初始化异步数据请求见 lowcode-spec而IDataSourceEngine的reloadDataSource()同样是重新加载所有的数据源见 datasourceEngine。对于 Procode 物料由于组件本身不直接持有引擎运行时上下文需要给物料注入一段configure配置把this.reloadDataSource通过 JSFunction 形式透出到组件 props 上再在组件内调用。以下内容整理自 Procode 物料如何调用数据源方法给出完整配置与排查路径。给物料注入 reloadDataSource 配置在物料的configure中加入如下字段配置。name为reloadDataSourceinitialValue返回一个 JSFunction 类型的值其内容为function(){ return this.reloadDataSource; }即把容器实例上的reloadDataSource方法透出来{ title: { label: { type: i18n, en-US: reloadDataSource, zh-CN: reloadDataSource, }, }, name: reloadDataSource, setter: StringSetter, initialValue: () ( { type: JSFunction, value: function(){ return this.reloadDataSource; } } ), }注入这段配置后编辑器会默认给物料提供reloadDataSource对应的参数组件端即可从 props 上拿到该方法。在物料组件中调用该方法配置生效后在物料组件内通过 props 取出方法并调用const reloadDataSource props.getReloadDataSource()props.getReloadDataSource()返回的即为上面 initialValue 中透出的this.reloadDataSource可直接作为 Promise 方式调用以重新加载数据源。可选不让该配置在配置面板中展示如果这个字段只是为了在组件内部取到方法、不希望它出现在属性配置面板里在字段配置中加上condition: () false即可。完整示例{ title: { label: { type: i18n, en-US: reloadDataSource, zh-CN: reloadDataSource, }, }, name: reloadDataSource, setter: StringSetter, condition: () false, initialValue: () ( { type: JSFunction, value: function(){ return this.reloadDataSource; } } ), },可选通过元数据管道函数全局生效如果需要对所有或一批物料统一注入这段配置而不是逐个物料手工添加可以用registerMetadataTransducerAPI 在物料信息初始化时修改元数据。该 API 注册物料元数据管道函数签名与示例见 material API 文档 registerMetadataTransducer。注意如果物料带有snippets相关配置通过 transducer 全局生效时也需要一并修改 snippets 中的相关配置。配置没有生效时如何排查按 FAQ 给出的排查路径先查看组件中的 schema确认对应配置是否已经正确设置到组件 schema 的 props 上。文档提示检查方式是查看组件中的 schema确认getReloadDataSource是否带上正确的 JSFunction 值。检查 snippets 中是否有默认值没有正确设置上的一个可能原因是snippets中没有默认值。需要在 snippets 的schema.props中加上默认的参数配置示例如下其中ProField与 props 内容为文档示例实际按你的物料组件名与默认属性替换const snippets: Snippet[] [ { title: Field, screenshot: , schema: { componentName: ProField, props: { type: textarea, value: 我是测试, getReloadDataSource: { type: JSFunction, value: function(){ return this.reloadDataSource; } } }, }, }, ];小结完成路径是在物料configure中注入name: reloadDataSource的 JSFunction 字段可选加condition: () false隐藏→ 组件内通过props.getReloadDataSource()取得方法调用 → 若不生效按schema 是否正确设置、snippets 是否有默认值两项检查 → 需要批量覆盖时改用registerMetadataTransducer在元数据初始化阶段统一注入。【免费下载链接】lowcode-engineAn enterprise-class low-code technology stack with scale-out design / 一套面向扩展设计的企业级低代码技术体系项目地址: https://gitcode.com/GitHub_Trending/lo/lowcode-engine创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。