MultiRecordResource
面向数据表的 Resource:请求返回数组,支持分页、筛选、排序及增删改查。适用于表格、列表等“多条记录”场景。与 APIResource 不同,MultiRecordResource 通过 setResourceName() 指定资源名,自动构建 users:list、users:create 等 URL,并内置分页、筛选、选中行等能力。
继承关系:FlowResource → APIResource → BaseRecordResource → MultiRecordResource。
创建方式:ctx.makeResource('MultiRecordResource') 或 ctx.initResource('MultiRecordResource')。使用前需 setResourceName('数据表名')(如 'users');RunJS 中 ctx.api 由运行环境注入。
适用场景
数据格式
getData()返回记录数组,即 list 接口的data字段getMeta()返回分页等元信息:page、pageSize、count、totalPage等
资源名与数据源
请求参数(筛选 / 字段 / 排序)
分页
选中行(表格场景)
CRUD 与列表操作
配置与事件
示例
基础列表
筛选与排序
关联展开
创建与翻页
批量删除选中行
监听 refresh 事件
关联资源(子表)
注意事项
- setResourceName 必填:使用前必须调用
setResourceName('数据表名'),否则无法构建请求 URL。 - 关联资源:资源名为
parent.child时(如users.tags),需先setSourceId(父记录主键)。 - refresh 防抖:同一事件循环内多次调用
refresh()只会执行最后一次,避免重复请求。 - getData 为数组:列表接口返回的
data即为记录数组,getData()直接返回该数组。
相关
- ctx.resource - 当前上下文中的 resource 实例
- ctx.initResource() - 初始化并绑定到 ctx.resource
- ctx.makeResource() - 新建 resource 实例,不绑定
- APIResource - 通用 API 资源,按 URL 请求
- SingleRecordResource - 面向单条记录

