Ext.require([
'Ext.tree.*',
'Ext.data.*'
])
Ext.onReady(function() {
var store = Ext.create('Ext.data.TreeStore', {
proxy: {
type: 'ajax',
url: 'get-nodes.php',
extraParams: {
isXml: true
},
reader: {
type: 'xml',
root: 'nodes',
record: 'node'
}
},
sorters: [{
property: 'leaf',
direction: 'ASC'
},{
property: 'text',
direction: 'ASC'
}],
root: {
text: 'Ext JS',
id: 'src',
expanded: true
}
})
// create the Tree
var tree = Ext.create('Ext.tree.Panel', {
store: store,
hideHeaders: true,
rootVisible: true,
viewConfig: {
plugins: [{
ptype: 'treeviewdragdrop'
}]
},
height: 350,
width: 400,
title: 'Directory Listing',
renderTo: 'tree-example',
collapsible: true
})
})
其实很简单,就是在你if (document.getElementById('node' + no).style.display == 'none') {
document.getElementById('node' + no).style.display = 'block'}// 如果此层是隐藏的
这段里面在加一句所有子层隐藏就可以了
if (document.getElementById('node' + no).style.display == 'none') {
(要加在这里哦~要是加在document.getElementById('node' + no).style.display = 'block'这句下面就永远不会有子项显示)
document.getElementById('node' + no).style.display = 'block'}