私は正常に動作する TreeStore を持っていますが、すべてのノードにはネストされたデータがあるため、新しいモデルを作成してhasMany関連付けを使用しました。しかし、ストアはもう何もロードしません。イベントのレコードを調べるとload、それらは空ですが、ブラウザーは Ajax リクエストが以前と同じようにすべてを配信したことを示しています。
サーバーからのノード データは次のようになります。
{
"パス": "KEY_518693",
"名前": "KEY_518693",
"データ": [
{
"ブランチ": "KEY_518693",
"primnav": "ETC",
"X": 29261,
"Y": 96492
}、
...
]、
"子供": [ ... ]、
...
}
これらは私のモデル定義です:
ツリーノード:
{
拡張: 'Ext.data.Model',
必要: [
'データレコード',
「Ext.data.association.HasMany」
]、
田畑 : [
{ 名前: 'ID' , タイプ: '文字列', マッピング: 'パス' },
{ 名前: 'テキスト', タイプ: '文字列', マッピング: '名前' },
...
]、
多くを持っています : {
モデル: 'データレコード',
名前:「データ」
}
データレコード:
{
拡張: 'Ext.data.Model',
田畑: [
{ 名前: 'ブランチ' , タイプ: '文字列'},
{ 名前: 'primnav', タイプ: '文字列' },
{ 名前: 'X' , タイプ: 'int' },
{ 名前: 'Y' , タイプ: 'int' }
]
}
関連付けを削除すると、ツリーは問題なく読み込まれます。フィールドに追加dataすると、ツリーに解析されますが、モデル インスタンスとしてではなく、「生の」オブジェクトとして解析されます。