简体中文
md.batchAdd.after
约 337 字大约 1 分钟
2025-12-15
该钩子发生在批量新建从对象数据时选数据之后,执行UI事件/计算逻辑之前 批量新建从对象数据时选完数据后执行额外的业务动作,包含且不限于以下功能:
- 变更主对象和从对象字段的值
参数
| 参数 | 说明 | 类型 |
|---|---|---|
| 通用参数 | 详见 | -- |
| objApiName | 从对象apiName | String |
| recordType | 从对象业务类型 | String |
| lookupField | 新建从对象时所依赖的查找关联字段的字段描述 | Object |
| newDataIndexs | 新添加的从对象数据的行ID | Array |
| lookupDatas | 选择去新建从对象数据的关联对象数据 | Array |
基础示例
变更新建的从对象数据
export default class Plugin {
apply() {
return [{
event: 'md.batchAdd.after',
functional: this.mdBatchAddAfter.bind(this)
}]
}
//如果是vcrm项目的中台插件需要交互参数位置
//mdBatchAddAfter(plugin, context)
mdBatchAddAfter(context, plugin) {
const { dataGetter, dataUpdater, newDataIndexs, objApiName } = context;
const detailDatas = dataGetter.getDetail(objApiName);
newDataIndexs.forEach(rowId => {
const newData = detailDatas.find(item => item.rowId === rowId);
if(newData){
dataUpdater.updateDetail(newData.object_describe_api_name, rowId, { name: 'hello fxiaoke' })
}
});
}
}注意事项
1. 此钩子中通过上下文API获取到的从对象数据包含新建的数据
当此钩子被调用时,对象数据已创建完成,等待后续的UI事件/计算逻辑的执行,因此API可以在对象数据中找到新建的数据。
