帖子
帖子
用户
博客
课程
显示全部楼层
23
帖子
0
勋章
172
Y币

单卡页前端beforesave调用后端接口后,怎么停止保存动作执行

[复制链接]
发表于 2023-10-26 14:23:37


这里alter之后停止不了保存动作


本帖子中包含更多资源,您需要 登录 才可以下载或查看,没有帐号?立即注册

X
嘀嘀嘀哒哒
21
帖子
1
勋章
524
Y币
最佳答案
不用要弹窗,你把弹窗等价于接口,接口成功相当于弹窗确认,接口失败相当于弹窗取消,把弹窗去掉就可以
30
帖子
1
勋章
159
Y币
您好,前端函数调用后端函数,在后端函数中加入new throw Error(“test”); 可以终止继续往下执行,以达到停止保存动作的目的。
23
帖子
0
勋章
172
Y币
靳林润 · 2023-10-26 14:28您好,前端函数调用后端函数,在后端函数中加入new throw Error(“test”); 可以终止继续往下执行,以达到停止保存动作的目的。



你好,后端是这样的,只不过是BusinessException,停止不了

本帖子中包含更多资源,您需要 登录 才可以下载或查看,没有帐号?立即注册

X
30
帖子
1
勋章
159
Y币
BIP833804 · 2023-10-26 14:37你好,后端是这样的,只不过是BusinessException,停止不了

可以试一下 打开页面设计器 找到【命令管理】,找到【保存】命令,点击【配置】,将前端函数调用的后端函数,作为规则链的函数,规则链的执行规则是从上至下顺序执行,如果中间有函数报错,那么将终止最终的保存动作。
21
帖子
1
勋章
524
Y币
function (event) {
  var viewModel = this;
  viewModel.on("beforeSave",function (args) {
         var returnPromise = new cb.promise();//同步
              cb.utils.confirm('确定要停用吗?', function(){ //默认异步
                //获取选中行
                var data = viewModel.getGridModel().getRows()[args.data[0]];
                return returnPromise.resolve();
              },function (args) {
                cb.utils.alert("点击了取消");
                return returnPromise.reject();
              });
              return returnPromise;
         });
}
23
帖子
0
勋章
172
Y币
嘀嘀嘀哒哒 · 2023-10-26 14:48function (event) {
  var viewModel = this;
  viewModel.on("beforeSave",function (args) {

这种方法必须有个弹窗吗?弹窗点确认是可以停止,但怕是不太好
21
帖子
1
勋章
524
Y币
BIP833804 · 2023-10-26 15:15这种方法必须有个弹窗吗?弹窗点确认是可以停止,但怕是不太好

不用要弹窗,你把弹窗等价于接口,接口成功相当于弹窗确认,接口失败相当于弹窗取消,把弹窗去掉就可以
23
帖子
0
勋章
172
Y币
嘀嘀嘀哒哒 · 2023-10-26 15:36不用要弹窗,你把弹窗等价于接口,接口成功相当于弹窗确认,接口失败相当于弹窗取消,把弹窗去掉就可以

好的,可以了
您需要登录后才可以回帖 登录

本版积分规则