简体中文
md.add.after
约 359 字大约 1 分钟
2025-12-15
该钩子发生在新建从对象数据之后,执行UI事件/计算逻辑之前。 新建从对象数据后执行额外的业务动作,包含且不限于以下功能:
- 变更主对象和从对象字段的值
参数
| 参数 | 说明 | 类型 |
|---|---|---|
| 通用参数 | 详见 | -- |
| objApiName | 从对象apiName | String |
| recordType | 从对象业务类型 | String |
| newData | 新添加的从对象数据 | Object |
| newDataIndexs | 新添加的从对象数据的行ID | Array |
基础示例
修改其他字段值
export default class Plugin {
apply() {
return [{
event: 'md.add.after',
functional: this.mdAddAfter.bind(this)
}]
}
//如果是vcrm项目的中台插件需要交互参数位置
//mdAddAfter(plugin, context)
mdAddAfter(context, plugin) {
// 更新主对象数据
context.dataUpdater.updateMaster({name: 'hello fxiaoke'});
// 更新其他从对象数据
context.dataGetter.getDetail(context.objApiName).forEach(item => {
context.dataUpdater.updateDetail(item.object_describe_api_name, item.rowId, { name: 'hello fxiaoke' })
})
}
}注意事项
1. 此钩子中变更的字段值也会参与后续的计算/UI事件等逻辑
在此钩子中修改数据后,后续的计算和UI事件将基于更新后的数据值进行处理。
2. 区别于md.render.before,此钩子中通过上下文API获取到的从对象数据包含新建的数据
当此钩子被调用时,对象数据已创建完成,等待后续的UI事件/计算逻辑的执行,因此API可以在对象数据中找到新建的数据。
