こんにちは、私は Ext バージョンを使用しています: 4.2.0.663 ツリーパネル
にデータをリロードしようとしていますが、2 つの問題があります:
*1 番目の問題は、autoLoad を無効にできないこと
です ---- 1 番目の問題は修正されました - store.root.expandedをfalseに設定する必要があります----
*2番目の問題は、 「treeview.store.load();」を作成しようとしているときです。データをリロードしますが、子が見つからず、クリックして親を折りたたもうとすると、次のエラーが発生します:
Uncaught TypeError: Cannot call method 'insertSibling' of null
ext-all-dev.js:158815
これは私がツリーパネルを作成する方法です:
{
xtype:'treepanel',
region:'west',
width:200,
dockedItems:[
{
xtype: 'toolbar',
dock: 'top',
id: 'msgToolbar',
style: 'font-weight:bold',
items: [
{
xtype: 'button',
text:'Add new tab',
iconCls:'button-add'
}
]
}
],
store: Ext.create('Ext.data.TreeStore', {
autoLoad: false,
proxy: {
type: 'ajax',
url: 'path to controller',
extraParams : {
launch:'functionName'
}
},
root: {
text: 'Tabs',
expanded: true
},
folderSort: true,
sorters: [{
property: 'text',
direction: 'ASC'
}]
})
}
ページをリロードすると、treepanel は自動的にデータをロードし (autoLoad:false も含む)、すべて問題ありませんが、treepanel.store().load() を作成しようとすると、2 番目のバグが発生します。
どちらの場合も、php から返されるデータはまったく同じです (ヘッダーも - つまり、2 つの同一の要求)。