简体中文
md.batchAdd.before
约 426 字大约 1 分钟
2025-09-22
从查找关联批量添加前触发。
从查找关联批量添加前
- 在这个时机拦截添加动作
- 加工选对象控件入参
- 替换选对象控件
参数
| 参数 | 说明 | 类型 |
|---|---|---|
| objApiName | 当前变更数据的对象api_name | String |
| recordType | 当前变更数据的业务类型 | String |
| lookupField | 批量添加场景,选择的lookup字段 | Object |
| selectObjectParams | 即将用于唤起选对象控件的入参 | Object |
selectObjectParams 关键属性说明
| 参数 | 说明 | 类型 |
|---|---|---|
| isSingle | true单选false多选 | Boolean |
| filters | 过滤条件 | Array |
| wheres | 过滤条件 | Array |
| disableAdd | true禁止从选对象列表新建 | Boolean |
返回结果
| 参数 | 说明 | 类型 |
|---|---|---|
| consumed | true不再继续执行后续逻辑 | Boolean |
| selectObjectParams | 即将用于唤起选对象控件的入参 | Object |
| selectObject | 选对象方法(异步),插件处理选对象逻辑,返回选择的数据,支持多选async p=>{return {objectDataList:[{_id:'',name:'',...}]} | Function |
代码示例
拦截批量添加动作
{
event: "md.batchAdd.before",
functional: function (pluginExecResult, options) {
if(options.dataGetter.getMasterData().name=="禁止添加从对象"){
wx.showToast({title: '禁止添加从对象',icon: 'none'});
return {consumed:true}
}
}
}过滤批量添加时可选择的数据
{
event: "md.batchAdd.before",
functional: function (pluginExecResult, options) {
let {selectObjectParams}=options;
//追加过滤条件,过滤出主属性包含“红色”的数据
selectObjectParams.filters = (selectObjectParams.filters||[]);
selectObjectParams.filters.push({
field_name:"name",
field_values:["红色"],
operator: "LIKE"
})
return {selectObjectParams}
}
}插件实现批量选择控件,替换掉默认选择控件
{
event: "md.batchAdd.before",
functional: function (pluginExecResult, options) {
let selectObject = async function(params){
let objectDataList=[]
//唤起选择自定义控件,并接收选择的数据
//示例:objectDataList = await selectData(params)
return {objectDataList}//返回选择的数据
}
return {selectObject}
}
}注意
- 不适合在这个事件中调用
dataUpdater更新数据
