表单的afterProcess事件
本帖最后由 zheng 于 2022-3-29 17:21 编辑表单的afterProcess事件中无法使用datatable的resetData()和deleteLine(),这两个方法都不能清空数据,但beforeProcess事件可以清空,这是为什么呢?
我在afterProcess事件中的代码:
let routeName = this.target.app.currentTask.routeName;
debugger
if(routeName === '退回'){
//删除添加的数据
let length = this.form.get("datatableinfoshow").getData().data.length;
for(let i = 0;i<length;i++){
this.form.get("datatableinfoshow").deleteLine(0);
}
// this.form.get('datatableinfoshow').resetData();
}
就是如果选了退回决策,就清空datatable,但是我在debugger的时候确实能看到数据被一行一行的删掉了,但打开退回的那个人的待办发现数据并没有清除
您好,afterprocess事件是不会对data进行保存的,所以您这里是修改了,但是并没有保存到data里 本帖最后由 zheng 于 2022-3-30 10:43 编辑
论坛管理员 发表于 2022-3-30 10:32
您好,afterprocess事件是不会对data进行保存的,所以您这里是修改了,但是并没有保存到data里 ...
那请问有什么方法可以在选择指定决策的时候去清空datatable?beforeProcess事件貌似获取不到选择的决策 表单属性区域,有一个提交,里面有校验路由的事件,里面可以做。但是最终需要有return,因为是校验,最终要给出校验是否通过 本帖最后由 zheng 于 2022-4-13 17:21 编辑
论坛管理员 发表于 2022-3-31 09:55
表单属性区域,有一个提交,里面有校验路由的事件,里面可以做。但是最终需要有return,因为是校验,最终要 ...
我在校验路由里需要用ajax调接口,并在接口的回调中return,但这样貌似无法return,在回调里return并不能正常流转,请问该怎么解决
}else if(routeName === '保存'){
this.data.add("job",this.data.$work.job);
// o2.load("/o2_lib/jquery/jquery.min.js",function(){
// if(!window.jq){
// var jq = jQuery.noConflict(true); //避免js框架冲突
// window.jq = jq;
// }
// var this_data = this.data;
// var this_form = this.form;
// window.jq.ajax({
// url:"",
// type:"post",
// contentType: "application/json;charset=UTF-8",
// data:JSON.stringify(this_data),
// // async:false,
// success(json){
// resolve(json);
// this_form.notice("保存成功!","success");
return true
// },
// error(json){
// reject(json)
// this_form.notice(json,"error");
return false
// }
// })
// }.bind(this))
})
		页: 
[1]