我已經創建了一個TreePanel,它使用了一個TreeStore和一個原來不顯示標籤的模型。我在面板中添加了一列,並顯示了樹的標籤。TreeView不能擴展爲子節點。我究竟做錯了什麼?
我沒有得到錯誤添加孫子樹,但樹不會擴大或顯示孫子
Ext.define('Writer.view.MainView', {
extend: 'Ext.container.Viewport',
itemId: 'mainView',
layout: {
type: 'border'
},
initComponent: function() {
var me = this;
Ext.applyIf(me, {
items: [
{
xtype: 'panel',
region: 'center',
itemId: 'contentPanel',
layout: {
type: 'card'
},
title: 'Content',
items: [
{
xtype: 'htmleditor',
height: 150
}
],
dockedItems: [
{
xtype: 'toolbar',
dock: 'top',
width: 400,
items: [
{
xtype: 'button',
text: 'MyButton',
listeners: {
click: {
fn: me.onButtonClick,
scope: me
}
}
},
{
xtype: 'button',
text: 'MyButton'
},
{
xtype: 'button',
text: 'MyButton'
}
]
}
]
},
{
xtype: 'treepanel',
region: 'west',
id: 'projectTree',
itemId: 'projectTree',
width: 150,
title: 'Organizer',
store: 'MyTreeStore',
viewConfig: {
rootVisible: false,
listeners: {
select: {
fn: me.onViewSelect,
scope: me
}
}
},
columns: [
{
xtype: 'treecolumn',
width: 148,
defaultWidth: 149,
enableColumnHide: false,
dataIndex: 'name'
}
]
}
]
});
me.callParent(arguments);
},
onButtonClick: function(button, e, eOpts) {
// This Works
var tree = Ext.getCmp('projectTree');
var treeNode = Ext.getCmp('projectTree').getRootNode();
treeNode.expandChildren(true); // Optional: To see what happens
treeNode.appendChild({
name: 'Child 4',
leaf: true
});
// This one works
treeNode.childNodes[1].appendChild({
text: 'Grand Child 3',
leaf: true
});
treeNode.childNodes[1].expand();
},
onViewSelect: function(dataviewmodel, record, eOpts) {
}
});
我要瘋了試圖弄明白。我還爲現在有孫子店的商店製作了JSON,並且一切正常,但它再次無法將它們展示在樹上。
{
"success": true,
"Root": [
{
"name": "Chapters",
"leaf": true,
"expanded": true,
"children": [
{
"name": "Chapter 1",
"leaf": true,
"expanded": true
},{
"name": "Chapter 2",
"leaf": true,
"expanded": true
},{
"name": "Chapter 3",
"leaf": true,
"expanded": true
}
]
},{
"name": "Characters",
"leaf": true,
"expanded": true
},{
"name": "Settings",
"leaf": true,
"expanded": true
}
]
}
你知道「葉」的意思嗎? –
我沒有,但看了之後,我看到了。 – ThinkNewDev