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

QQ登录

只需一步,快速开始

查看: 3175|回复: 17

[结贴] 用data组件新增数据后,但是数据没有重新加载,新增的那...

[复制链接]

26

主题

80

帖子

642

积分

高级会员

Rank: 4

积分
642
QQ
发表于 2017-7-28 10:04:43 | 显示全部楼层 |阅读模式
本帖最后由 453543001 于 2017-7-28 10:09 编辑

用data组件新增数据后,保存成功,但是数据没有重新加载,新增的那条记录为什么不能删除,请问是什么原因?前端新增的数据没有产生id值,是通过后台返回给前台再设进去的。想不重新加载数据能够进行删除动作。
为什么数据更新操作,就没有这个问题,更新完之后就能直接进行删除操作呢?
发表于 2017-7-28 11:20:27 | 显示全部楼层
本帖最后由 liangyongfei 于 2017-7-28 11:21 编辑

就是因为id列不存在!所以删除没法删除!
建议id列设置为字符串的形式  ,赋值为uuid
这样前端直接就可以赋值了! 也不用担心id不存在的情况了!

如果id 是数据库中赋值的!那就新增保存后必须 刷新data 或者 将新增数据的id查出来 赋值到data组件新增的行里面才行!(设置进去以后需要注意data组件的行状态设置为none)
http://docs.wex5.com/wex5-ui-question-list-2184

这样删除的时候才会修改行状态为delete的!否则就不会真正执行删除
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

26

主题

80

帖子

642

积分

高级会员

Rank: 4

积分
642
QQ
 楼主| 发表于 2017-7-28 14:11:46 | 显示全部楼层
liangyongfei 发表于 2017-7-28 11:20
就是因为id列不存在!所以删除没法删除!
建议id列设置为字符串的形式  ,赋值为uuid
这样前端直接就可以 ...

我的这边就是把服务器返回过来的id设置到行id中的,并且把状态设置成NONE了,删除功能依然是不能用啊。
Model.prototype.deptDataCustomSave = function(event){
        var row = event.source.getCurrentRow();// 这里只实现了单条数据保存,可根据后台能力扩展实现多条数据保存
        var me  = this;  
                event.promise = restfulUtil.JZCustomSave({
                        row : row,
                        newUrl : "/system/userGroups",
                        updateUrl : "/system/userGroups/"+row.getID()
                });
                $.when(event.promise)
                 .done(function(data){
                     if(data.id !== undefined && data.version !== undefined) {
//                        console.log(data.id);
//                         console.log(row);
                        row.val("id",data.id);
                        row.val("version",data.version);
                        row.val("leaf",true);
                        alert(row.getID());
                        alert(row.data.getRowState(row));
                     }
                    event.source.applyUpdates();
                     alert(row.data.getRowState(row));
                 })
         .fail(function(data){console.log(data);});
        };
回复 支持 反对

使用道具 举报

发表于 2017-7-28 14:27:58 | 显示全部楼层
data.setValue('id',id)  后 把状态设置成NONE  了 ,
再 执行完 data.deleteData(row) 的时候,这个行对象  data.getRowState(row)   是什么??
如果它的值是 delete  ,那么 执行data.saveData() 就应该可以保存的!

另外,你接管了data组件的onCustomSave 事件!这里应该请求服务器的保存方法才对啊! 我看你的代码也没发请求 啊!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

26

主题

80

帖子

642

积分

高级会员

Rank: 4

积分
642
QQ
 楼主| 发表于 2017-7-28 14:45:01 | 显示全部楼层
liangyongfei 发表于 2017-7-28 14:27
data.setValue('id',id)  后 把状态设置成NONE  了 ,
再 执行完 data.deleteData(row) 的时候,这个行对象 ...

请求是在另一个restfulUtil.JZCustomSave方法中执行的。想问下,originalValue和latestValue区别在哪,会不会是这个原因,要在originalValue中有id值,删除键才能用,怎么给originalValue赋值呢?
回复 支持 反对

使用道具 举报

发表于 2017-7-28 14:52:01 | 显示全部楼层
453543001 发表于 2017-7-28 14:45
请求是在另一个restfulUtil.JZCustomSave方法中执行的。想问下,originalValue和latestValue区别在哪,会 ...

你可以看下data组件的文档
http://docs.wex5.com/comps-data/

data.setValue  方法赋值后  能保存吗??  要不就别修改行状态了!直接执行data.saveData() 方法重新保存一次!  这是正常的逻辑(可能直接修改行状态为none,并不是按照正规的逻辑执行的!)

或者是执行data.saveData() 的时候!自己通过代码修改行状态为delete  !这样应该也能保存

要不你调试试试,通过代码给 originalValue 赋值!

qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

26

主题

80

帖子

642

积分

高级会员

Rank: 4

积分
642
QQ
 楼主| 发表于 2017-7-31 09:52:33 | 显示全部楼层
liangyongfei 发表于 2017-7-28 14:52
你可以看下data组件的文档
http://docs.wex5.com/comps-data/

还有一个问题,为什么saveData的例子中保存成功回调为什么要有一个刷新操作呢?
回复 支持 反对

使用道具 举报

发表于 2017-7-31 13:12:04 | 显示全部楼层
453543001 发表于 2017-7-31 09:52
还有一个问题,为什么saveData的例子中保存成功回调为什么要有一个刷新操作呢? ...

刷新什么的操作??你指的哪个事件?刷新了什么??
一般保存就是保存,不会执行刷新的!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

26

主题

80

帖子

642

积分

高级会员

Rank: 4

积分
642
QQ
 楼主| 发表于 2017-8-1 10:58:01 | 显示全部楼层
liangyongfei 发表于 2017-7-31 13:12
刷新什么的操作??你指的哪个事件?刷新了什么??
一般保存就是保存,不会执行刷新的! ...

  //保存成功后刷新data


this.comp('mainData').saveData(
{
  "onSuccess" : function(event){
  event.source.refreshData();
  }
   });
我指的是这里面的刷新refreshData
回复 支持 反对

使用道具 举报

发表于 2017-8-1 11:48:42 | 显示全部楼层
453543001 发表于 2017-8-1 10:58
//保存成功后刷新data

保存后为什么要刷新呢?? 可以不需要刷新啊!去掉也没关系的!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-2 16:14 , Processed in 0.113669 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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