将记录设置为脏后,store将提交所有字段

时间:2012-03-27 10:48:52

标签: extjs extjs4 extjs-mvc

我正在更改记录的某些值,然后将其设置为脏。 虽然将writeAllFields设置为字段(如果我通过编辑表单编辑我的数据,它可以正常工作)。

控制器方法:

activateDeactivate: function(grid, selection, active) {
    for(var i = 0; i < selection.length; i++) {
        selection[i].data.status = (active) ? 1 : 0;
        selection[i].setDirty();
    }
    var store = this.getStore('Creatives');
    store.sync();
}

商店作家:

writer:{
        type:'json',
        writeAllFields:false,
        allowSingle: false //  always wrap data in an array
        //root: 'data'
    }

已更新控制器方法:

activateDeactivate: function(grid, selection, active) {
    for(var i = 0; i < selection.length; i++) {
        selection[i].data.status = (active) ? 1 : 0;
        values = selection[i].data;
        selection[i].set(values);
    }
    var store = this.getStore('Creatives');
    store.sync();
}

1 个答案:

答案 0 :(得分:0)

您无需将整个记录设置为脏。您只需set()新值即可。如果它们是脏的,则通过将Record.modifiedRecord.data进行比较来确定。