起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: 哀木涕Looy

[结贴] 数据修改,弹出对话框,选择否,怎么恢复成原来数据

[复制链接]

26

主题

116

帖子

261

积分

中级会员

Rank: 3Rank: 3

积分
261
QQ
 楼主| 发表于 2020-4-23 16:40:22 | 显示全部楼层
jishuang 发表于 2020-4-23 15:42
你这样肯定死循环,onDataChange中event.value的值,本来就是onValueChange中的新值

你要跟你需要的值做对 ...

我这猪脑袋,还是无尽死循环,好尴尬,能不能直接帮我写一下判断条件,万分感谢
1.png
人太笨,没办法
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36046
发表于 2020-4-23 17:35:16 | 显示全部楼层
你自己看新值和旧值都是什么自己判断啊,方案就是上面提供的
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

26

主题

116

帖子

261

积分

中级会员

Rank: 3Rank: 3

积分
261
QQ
 楼主| 发表于 2020-4-23 18:20:47 | 显示全部楼层
jishuang 发表于 2020-4-23 15:42
你这样肯定死循环,onDataChange中event.value的值,本来就是onValueChange中的新值

你要跟你需要的值做对 ...

修改触发数据改变,随后数据改变后,再到数据发生变化事件,数据改变设置新值旧值后,进入数据改变后事件,数据改变后事件中的值是新值,随后触发数据发生变化事件,里面不管怎么判断,终究有一句代码是设置回旧值,一旦设置,再次触发以上流程,这个时候,原来的旧值就成了新值,如此循环,我也是转不过来了
人太笨,没办法
回复 支持 反对

使用道具 举报

26

主题

116

帖子

261

积分

中级会员

Rank: 3Rank: 3

积分
261
QQ
 楼主| 发表于 2020-4-23 18:27:32 | 显示全部楼层
jishuang 发表于 2020-4-23 17:35
你自己看新值和旧值都是什么自己判断啊,方案就是上面提供的

一次修改,触发三个事件:数据改变,数据改变后,数据发生变化,以你上面的例子,到了数据变化这步,肯定要进行一次setValue,设置回旧值,一设置回旧值,再次触发三个事件,这个时候,this.oldValue和event.newValue的值会互换,而且设置回去,会再次打开我的确认对话框,旧值成了新值,因为前面的数据变化事件设置了setValue,会再次进入数据发生变化事件,判断再次成立,接下来就是循环了
人太笨,没办法
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36046
发表于 2020-4-23 20:23:01 | 显示全部楼层
你要判断的值就单独定义一个变量,跟这个变量赋值
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

532

主题

2107

帖子

4308

积分

论坛元老

起步萌新

Rank: 8Rank: 8

积分
4308
发表于 2020-4-24 08:45:43 | 显示全部楼层
data组件cancelupdates方法,了解下,还原数据的所有修改,不是针对row
及时结贴是个好习惯
回复 支持 反对

使用道具 举报

26

主题

116

帖子

261

积分

中级会员

Rank: 3Rank: 3

积分
261
QQ
 楼主| 发表于 2020-4-24 11:20:03 | 显示全部楼层
江苏院-吴昊 发表于 2020-4-24 08:45
data组件cancelupdates方法,了解下,还原数据的所有修改,不是针对row

我只想针对某个字段,不想全部还原,用户体验极差的,兄台有什么办法,已经困扰我几天了
人太笨,没办法
回复 支持 反对

使用道具 举报

532

主题

2107

帖子

4308

积分

论坛元老

起步萌新

Rank: 8Rank: 8

积分
4308
发表于 2020-4-24 11:33:28 | 显示全部楼层
哀木涕Looy 发表于 2020-4-24 11:20
我只想针对某个字段,不想全部还原,用户体验极差的,兄台有什么办法,已经困扰我几天了 ...

不需要用到dataonchange事件。

如果确认就修改,就是直接保存,
如果不修改,就getOriginalValue获取旧值,再set回去呗
及时结贴是个好习惯
回复 支持 反对

使用道具 举报

26

主题

116

帖子

261

积分

中级会员

Rank: 3Rank: 3

积分
261
QQ
 楼主| 发表于 2020-4-24 16:00:50 | 显示全部楼层
江苏院-吴昊 发表于 2020-4-24 11:33
不需要用到dataonchange事件。

如果确认就修改,就是直接保存,

没那么简单的啦,最关键就是set,一旦set,就会再次触发那三个事件的,那个时候,前面set的旧值就成了下一次的新值,会再次弹出对话框,无尽死循环,不然我也不至于和管理员请教了几天
人太笨,没办法
回复 支持 反对

使用道具 举报

532

主题

2107

帖子

4308

积分

论坛元老

起步萌新

Rank: 8Rank: 8

积分
4308
发表于 2020-4-24 16:24:10 | 显示全部楼层
哀木涕Looy 发表于 2020-4-24 16:00
没那么简单的啦,最关键就是set,一旦set,就会再次触发那三个事件的,那个时候,前面set的旧值就成了下 ...

具体需求说一下
及时结贴是个好习惯
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-9-29 20:34 , Processed in 0.061722 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表