ctx.blockModel
当前 JS 字段 / JS 区块所在的父区块模型(BlockModel 实例)。在 JSField、JSItem、JSColumn 等场景下,ctx.blockModel 指向承载当前 JS 逻辑的表单区块或表格区块;在 JSBlock 独立区块中可能为 null 或与 ctx.model 相同。
适用场景
注意:
ctx.blockModel仅在存在父区块的 RunJS 上下文中可用;独立 JSBlock(无父表单/表格)时可能为null,使用前建议做空值判断。
类型定义
具体类型取决于父区块类型:表单区块多为 FormBlockModel、EditFormModel,表格区块多为 TableBlockModel。
常用属性
与 ctx.model、ctx.form 的关系
在 JSField 中,ctx.model 为字段模型,ctx.blockModel 为承载该字段的表单/表格区块;ctx.form 通常即 ctx.blockModel.form。
示例
表格:获取选中行并处理
表单场景:校验并刷新
监听表单变化
触发区块重新渲染
注意事项
ctx.blockModel在独立 JSBlock(无父表单/表格区块)时可能为null,访问其属性前建议使用可选链:ctx.blockModel?.resource?.refresh?.()。- 在JSField / JSItem / JSColumn 中,
ctx.blockModel为承载当前字段的表单或表格区块;在JSBlock 中,可能为自身或上层区块,取决于实际层级。 resource仅在数据区块下存在;form仅在表单区块下存在,表格区块通常无form。
相关
- ctx.model:当前执行上下文所在模型
- ctx.form:表单实例,表单区块下常用
- ctx.resource:资源实例(等价于
ctx.blockModel?.resource,有则直接使用) - ctx.getModel():按 uid 获取其他区块模型

