Resource API
NocoBase FlowEngine 提供了两个 Resource 类来处理前端的数据操作——MultiRecordResource 用于列表/表格(多条记录),SingleRecordResource 用于表单/详情(单条记录)。它们封装了 REST API 调用,提供响应式的数据管理。
继承链路:FlowResource → APIResource → BaseRecordResource → MultiRecordResource / SingleRecordResource
MultiRecordResource
用于列表、表格、看板等多条记录场景。从 @nocobase/flow-engine 导入。
数据操作
分页
选中行
示例:在 CollectionBlockModel 中使用
继承 CollectionBlockModel 时,需要通过 createResource() 创建 resource,然后在 renderComponent() 中读取数据:
完整示例见 FlowEngine → 区块扩展。
示例:在操作按钮中调用 CRUD
在 ActionModel 的 registerFlow handler 中,通过 ctx.blockModel?.resource 拿到当前区块的 resource,调用 CRUD 方法:
完整示例见 做一个前后端联动的数据管理插件。
示例:CRUD 操作速查
SingleRecordResource
用于表单、详情页等单条记录场景。从 @nocobase/flow-engine 导入。
数据操作
关键属性
示例:表单详情场景
示例:新建和编辑记录
通用方法
以下方法在 MultiRecordResource 和 SingleRecordResource 上都可用:
过滤
字段控制
资源配置
元数据和状态
事件
Filter 语法
NocoBase 使用 JSON 风格的过滤语法,操作符以 $ 开头:
在 Resource 上推荐用 addFilterGroup 管理过滤条件:
MultiRecordResource 与 SingleRecordResource 对比
相关链接
- 做一个前后端联动的数据管理插件 — 完整示例:
resource.create()在自定义操作按钮中的实际用法 - FlowEngine → 区块扩展 — CollectionBlockModel 中
createResource()和resource.getData()的用法 - ResourceManager 资源管理(服务端) — 服务端 REST API 资源定义,客户端 Resource 调用的就是这些接口
- FlowContext API —
ctx.makeResource()、ctx.initResource()等方法的说明

