原因:data组件保存操作是针对整个data组件中的数据的!有些用户想编剧数据后只对当前行数据进行保存,如图:
解决方案:
把data组件中其他行数据的状态都改成NONE,只把当前行数据的状态改成EDIT,这样执行保存操作就只会保存当前行数据了!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | //开头需要引入data, var Data = require(“$UI/system/components/justep/data/data”) Model.prototype.td6Click = function (event){ var zszsBaasData= this .comp( "zszsBaasData" ); /* *用于处理只保存当前行数据 *先将data中所有行数据状态设为NONE */ zszsBaasData.each( function (param) { zszsBaasData.setRowState(param.row, Data.STATE.NONE); }); //获取当前行 var row = event.bindingContext.$object; //再将当前行的数据状态设为EDIT zszsBaasData.setRowState(row, Data.STATE.EDIT); zszsBaasData.saveData({ "onSuccess" : function (event) { justep.Util.hint( "修改成功!" , { type : 'success' }) } }); }; |
评一波