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
Previous Pagenavigator
Next Pagectx.collection

#ctx.blockModel

当前 JS 字段 / JS 区块所在的父区块模型(BlockModel 实例)。

在表单区块、表格区块等场景下,ctx.blockModel 指向承载当前 JS 逻辑的区块模型,可用于:

  • 访问当前区块绑定的集合(collection)
  • 访问区块的资源(resource),执行刷新、获取选中行等操作
  • 访问区块内的表单实例(form),读取/校验表单值
  • 监听区块事件(如 formValuesChange)实现联动或重新渲染

#类型定义(简化)

blockModel: BlockModel | FormBlockModel | TableBlockModel | CollectionBlockModel | DataBlockModel | null;

具体类型取决于当前区块类型,例如表单区块多为 FormBlockModel,表格区块多为 TableBlockModel。

#常用属性和方法

ctx.blockModel.collection; // 当前区块绑定的集合
ctx.blockModel.resource;   // 当前区块使用的资源(SingleRecordResource / MultiRecordResource 等)
ctx.blockModel.form;       // 表单区块:Antd Form 实例,支持 getFieldsValue/validateFields 等

// 监听事件(如根据表单变化渲染汇总)
ctx.blockModel.on?.('formValuesChange', (values) => {
  // 根据最新表单值处理
});

// 重新渲染当前区块(部分区块模型实现 rerender)
ctx.blockModel.rerender?.();

提示:

  • 表单相关场景可用 ctx.blockModel.form.getFieldsValue() 获取所有表单字段值
  • 表格相关场景可用 ctx.blockModel.resource.getSelectedRows() 获取当前选中行
  • 不同 BlockModel 子类可能暴露 expand/collapse、refresh 等方法,按区块类型使用