2014-04-11 4 views
1

При добавлении данных в TreeStore ExtJS данные преобразуются в TreeModel. Когда вы вызываете getData() в этих TreeModels, он возвращает не только поля, указанные в исходном файле Ext.data.Model для объекта, но также множество других полей, таких как qshowDelay, isFirst, allowDrag, ...Получение данных модели модели из TreeModel

Каков наилучший способ избавиться от всех этих дополнительных добавленных полей, чтобы я мог POST только поля, указанные в исходном файле Ext.data.Model для объекта?

ответ

1

Недвижимость persist Недвижимость false для добавленных полей. Поэтому, если вы хотите только изменить поля для публикации, вы можете использовать свойство модели modified, и оно не будет содержать добавленные поля. Если вы хотите получить данные со всех исходных полей, вы можете сделать что-то вроде:

var fields = Ext.Array.filter(MyModel.getFields(), function(field){ 
     return field.persist!=false; 
    }); 
    var data = Ext.copyTo(data, record.data, Ext.Array.pluck(fields, 'name')); 
Смежные вопросы