我正在尝试使用 FuelEx 树控件。当用户选择节点时,我不想加载树上的每个节点。我宁愿在页面加载时加载整个树结构。我已经构建了一个控制器,可以为我的整个树构建正确的 json。
是否有如何预加载整个结构的示例?
我目前正在尝试使用以下内容作为起点。一旦我让它正常工作,我会将它转换为 Datasource 对象。
$('#myTree').tree({
dataSource: function(options, callback){
var self = this;
var param = null;
if ("type" in options && options.type == "folder") {
if ("dataAttributes" in options && "children" in options.dataAttributes) {
param = options.dataAttributes["id"];
}
}
debugger;
if (param != null) {
$.ajax({
url: "/bundle-picker-data",
//data: 'id=' + param,
type: 'GET',
dataType: 'json',
success: function (response) {
if (response.status == "OK")
callback({ data: response.data })
},
error: function (response) {
console.log(response);
}
})
}
setTimeout(function () {
callback({ data: [
{ name: 'Ascending and Descending', type: 'folder', dataAttributes: { id: 'folder1' } },
{ name: 'Sky and Water I (with custom icon)', type: 'item', dataAttributes: { id: 'item1', 'data-icon': 'glyphicon glyphicon-file' } },
{ name: 'Drawing Hands', type: 'folder', dataAttributes: { id: 'folder2' } },
{ name: 'Waterfall', type: 'item', dataAttributes: { id: 'item2' } },
{ name: 'Belvedere', type: 'folder', dataAttributes: { id: 'folder3' } },
{ name: 'Relativity (with custom icon)', type: 'item', dataAttributes: { id: 'item3', 'data-icon': 'glyphicon glyphicon-picture' } },
{ name: 'House of Stairs', type: 'folder', dataAttributes: { id: 'folder4' } },
{ name: 'Convex and Concave', type: 'item', dataAttributes: { id: 'item4' } }
]});
}, 400);
},
multiSelect: true,
cacheItems: true,
folderSelect: false,
});
$('#tree-selected-items').on('click', function () {
console.log("selected items: ", $('#MyTree').tree('selectedItems'));
});
$('#myTree').on('loaded', function (evt, data) {
console.log('tree content loaded');
});
$('#myTree').on('opened', function (evt, data) {
console.log('sub-folder opened: ', data);
});
$('#myTree').on('closed', function (evt, data) {
console.log('sub-folder closed: ', data);
});
$('#myTree').on('selected', function (evt, data) {
console.log('item selected: ', data);
});
谢谢,格雷格