简体中文
npcRun(hook, params, opt)
约 312 字大约 1 分钟
2025-11-24
以最新的上下文执行 hook 逻辑,与底层默认触发各类 hook 类似,适合在插件内实现跳出插件生命周期的逻辑,例如按钮点击事件触发。
- 与 bizApi.npcRun 作用一致。
参数
| 参数 | 说明 | 类型 |
|---|---|---|
| hook | 必填,hook函数或者hook事件名称 | Function|String |
| params | 自定义hook事件参数,发送给事件接收方使用 | Object |
| opt | 可选配置参数 | Number |
返回结果
无
代码示例
字段组件中点击一个按钮,更新当前对象数据字段值,触发计算和UI事件
methods:{
_onBtnClick(){
let {context, field, objApiName, dataIndex}=this.data;
let random = Math.round(Math.random()*1000)+'';
context.npcRun(p=>{
let updateData = {
[field.api_name]:random
}
//更新当前对象数据字段值
p.dataUpdater.update(objApiName, dataIndex, updateData);
return p.bizApi.triggerCalAndUIEvent({
objApiName,//当前发起计算的对象,必须
modifiedDataIndexs:[dataIndex], //新加的从数据dataIndex,如果你发起计算是因为添加了从对象数据,需要传
changeFields:[field.api_name], //修改了哪些字段,必须
triggerUiFields:[field.api_name], //触发 UI 事件的字段
})
})
}
}注意
- 尽量不要在组件attached、ready等加载渲染相关生命周期函数内调用,可能导致并发操作,引发数据错乱异常。
