2014-04-11 60 views
1

將數據添加到ExtJS TreeStore時,數據被轉換爲TreeModel。當您在這些TreeModel上調用getData()時,它不僅會返回對象的原始Ext.data.Model中指定的字段,還會返回一堆其他字段,如qshowDelay,isFirst,allowDrag,...從TreeModel獲取Ext模型數據

什麼是擺脫所有這些額外添加的字段的最好方法,以便我可以只發布對象的原始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'));