logologo
开始
手册
开发
插件
API
首页
English
简体中文
日本語
한국어
Español
Português
Deutsch
Français
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
开始
手册
开发
插件
API
首页
logologo
RunJS 概述
导入模块
容器内渲染

全局变量

window
document
navigator

ctx

ctx.blockModel
ctx.collection
ctx.collectionField
ctx.dataSource
ctx.dataSourceManager
ctx.element
ctx.exit()
ctx.exitAll()
ctx.filterManager
ctx.form
ctx.getModel()
ctx.getValue()
ctx.getVar()
ctx.i18n
ctx.importAsync()
ctx.initResource()
ctx.libs
ctx.location
ctx.logger
ctx.makeResource()
ctx.message
ctx.modal
ctx.model
ctx.notification
ctx.off()
ctx.on()
ctx.openView()
ctx.render()
ctx.request()
ctx.requireAsync()
ctx.resource
ctx.route
ctx.router
ctx.setValue()
ctx.sql
ctx.t()
ctx.view
Next PageRunJS 概述

#MultiRecordResource

面向集合/列表的 Resource:请求返回数组,支持分页、筛选、排序及增删改查。适用于表格、列表等“多条记录”场景。

继承关系:FlowResource → APIResource → BaseRecordResource → MultiRecordResource。具备 APIResource 的请求能力,并在此基础上扩展资源名、筛选、分页与 CRUD。

创建方式:ctx.makeResource('MultiRecordResource') 或 ctx.initResource('MultiRecordResource')。使用前需 setResourceName('集合名')(如 'users'),并依赖 ctx.api。


#资源名与数据源

方法说明
setResourceName(name) / getResourceName()资源名,如 'users'、'users.tags'
setSourceId(id) / getSourceId()关联资源时的父记录 ID
setDataSourceKey(key) / getDataSourceKey()数据源标识

#请求参数(筛选 / 字段 / 排序)

方法说明
setFilterByTk(tk) / getFilterByTk()主键筛选(单条 get 等)
setFilter(filter) / getFilter() / resetFilter()筛选条件
addFilterGroup(key, filter) / removeFilterGroup(key)筛选组
setFields(fields) / getFields()请求字段
setSort(sort) / getSort()排序
setAppends(appends) / getAppends() / addAppends / removeAppends关联展开

#分页

方法说明
setPage(page) / getPage()当前页
setPageSize(size) / getPageSize()每页条数
getTotalPage()总页数
getCount()总条数(来自服务端 meta)
next() / previous() / goto(page)翻页并触发 refresh

#选中行(表格场景)

方法说明
setSelectedRows(rows) / getSelectedRows()当前选中的行数据

#CRUD 与列表操作

方法说明
refresh()按当前参数请求 list,更新 getData() 与分页 meta
get(filterByTk)请求单条,返回该条数据
create(data, options?)创建,可选 { refresh: false } 不自动刷新
update(filterByTk, data, options?)按主键更新
`destroy(filterByTkrow
destroySelectedRows()删除当前选中行
setItem(index, item)本地替换某一行数据
runAction(actionName, options)调用任意资源 action(如自定义 action)

#配置与事件

方法说明
setRefreshAction(name)刷新时调用的 action,默认 'list'
setCreateActionOptions(options) / setUpdateActionOptions(options)create/update 的请求配置
on('refresh', fn) / on('saved', fn)刷新完成、保存后触发

#示例

ctx.initResource('MultiRecordResource');
ctx.resource.setResourceName('users');
ctx.resource.setPageSize(20);
await ctx.resource.refresh();
const rows = ctx.resource.getData();
const total = ctx.resource.getCount();

// 创建
await ctx.resource.create({ name: '张三' });

// 翻页
await ctx.resource.next();