次のような状況があります。サーバーと同期されている TreeStore があります。サーバーの応答は、追加のプロパティ「additionalTasks」(サーバーが生成した新しいノードの情報を格納する) を含む変更されたノード データを返します。ストアのすべてのリスナーが生の応答データではなく、インスタンス化されたレコード オブジェクトを既に取得している場合、このプロパティの値を取得するにはどうすればよいですか? この追加フィールドをモデルに追加しようとしましたが、リスナー関数のレコードの値を確認すると、null として表示されます。
Ext.define('ExtendedTask', {
extend: 'Ext.data.NodeInterface',
fields: [
{ name : 'additionalData', type : 'auto', defaultValue : null, persist : false}
]
});
var store = Ext.create("Ext.data.TreeStore", {
model : 'ExtendedTask',
autoSync: false,
proxy : {
method: 'GET',
type : 'ajax',
api: {
read : 'tasks.js',
update : 'update.php',
create : 'update.php'
},
reader : {
type : 'json'
}
},
listeners: {
update : function(){
console.log('arguments: ', arguments);
}
}
});
そして、これは私の update.php 応答です:
<?php
echo '[ { "Id" : 1,'.
'"Name" : "Planning Updated",'.
'"expanded" : true,'.
'"additionalData": ['.
' {'.
' "Name" : "T100",'.
' "parentId" : null'.
' }'.
']'.
']';
?>