Как быстро развернуть все таблицы PrimeNG?
Я использую PrimeNG treeTable в моем приложении Angular. И данные treeTable очень велики. Каждый предмет имеет более 200 наименований.
Вот как это выглядит:
{
"data":
[
{
"data":{
"name":"Documents",
"size":"75kb",
"type":"Folder"
},
"children":[
{
"data":{
"name":"Work",
"size":"55kb",
"type":"Folder"
},
"children":[
{
"data":{
"name":"Expenses.doc",
"size":"30kb",
"type":"Document"
}
},
{
"data":{
"name":"Resume.doc",
"size":"25kb",
"type":"Resume"
}
}
]
},
{
"data":{
"name":"Home",
"size":"20kb",
"type":"Folder"
},
"children":[
{
"data":{
"name":"Invoices",
"size":"20kb",
"type":"Text"
}
}
]
}
]
},
{
"data":{
"name":"Pictures",
"size":"150kb",
"type":"Folder"
},
"children":[
{
"data":{
"name":"barcelona.jpg",
"size":"90kb",
"type":"Picture"
}
},
{
"data":{
"name":"primeui.png",
"size":"30kb",
"type":"Picture"
}
},
{
"data":{
"name":"optimus.jpg",
"size":"30kb",
"type":"Picture"
}
}
]
}
]
}
моя функция заключается в следующем. Я хочу расширить все. Я использую рекурсию. Но на это ушло много времени.
Так у вас есть лучший алгоритм?
expandAll(e) {
console.log(e);
this.expand(e.node.children);
}
expand(element) {
element.forEach(element => {
element.expanded = true;
this.expand(element.children);
});
}
}
<p-treeTable[value]="treedataList" (onNodeExpand) = "expandAll($event)"></p-treeTable>
Вот древовидная ссылка PrimeNG: https://www.primefaces.org/primeng/
0 ответов
Вы можете включить расширение как свойство элемента узла следующим образом:
{
"data":{
"name":"Home",
"size":"20kb",
"type":"Folder"
},
"children":[
{
"data":{
"name":"Invoices",
"size":"20kb",
"type":"Text"
},
expanded: true
}
],
expanded: true
}
Древовидная таблица использует следующий интерфейс узла:
export interface TreeNode {
data?: any;
children?: TreeNode[];
leaf?: boolean;
expanded?: boolean;
}