查看: 14283|回复: 4

表单的afterProcess事件

升级   7.61%

71

主题

83

回帖

761

积分

注册会员

Rank: 2

积分
761
发表于 2022-3-29 17:12:55 | 显示全部楼层 |阅读模式
本帖最后由 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的时候确实能看到数据被一行一行的删掉了,但打开退回的那个人的待办发现数据并没有清除


回复

使用道具 举报

升级   100%

139

主题

1万

回帖

4万

积分

超级版主

Rank: 8Rank: 8

积分
41458
发表于 2022-3-30 10:32:15 | 显示全部楼层
您好,afterprocess事件是不会对data进行保存的,所以您这里是修改了,但是并没有保存到data里
回复

使用道具 举报

升级   7.61%

71

主题

83

回帖

761

积分

注册会员

Rank: 2

积分
761
发表于 2022-3-30 10:41:55 | 显示全部楼层
本帖最后由 zheng 于 2022-3-30 10:43 编辑
论坛管理员 发表于 2022-3-30 10:32
您好,afterprocess事件是不会对data进行保存的,所以您这里是修改了,但是并没有保存到data里 ...

那请问有什么方法可以在选择指定决策的时候去清空datatable?beforeProcess事件貌似获取不到选择的决策
回复

使用道具 举报

升级   100%

139

主题

1万

回帖

4万

积分

超级版主

Rank: 8Rank: 8

积分
41458
发表于 2022-3-31 09:55:55 | 显示全部楼层
表单属性区域,有一个提交,里面有校验路由的事件,里面可以做。但是最终需要有return,因为是校验,最终要给出校验是否通过
回复

使用道具 举报

升级   7.61%

71

主题

83

回帖

761

积分

注册会员

Rank: 2

积分
761
发表于 2022-4-13 17:06:08 | 显示全部楼层
本帖最后由 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))


    })



回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系客服 关注微信 下载APP 返回顶部 返回列表
viewthread