После установки записи на грязное, хранилище фиксирует все поля

Я изменяю некоторые значения записи и впоследствии устанавливаю ее грязной. Хотя установите 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 ответ

Решение

Вам не нужно ставить всю запись грязной. Вы можете просто set() новые ценности. Если они грязные, внутренне определяется путем сравнения Record.modified в Record.data,

Другие вопросы по тегам