У меня есть компонент, в котором я предоставляю данные из Json,
- Мне нужно, когда пользователь ПРОВЕРИТЬ элемент, чтобы получить весь путь от Json
- Когда снимите флажок это, чтобы очистить checkedKeys , чтобы сбросить его длину
File-explorer.component.ts
...
public selection: SelectableSettings = { mode: 'multiple' };
public checkParents: boolean = false;
public checkChildren: boolean = false;
public expandedKeys: any[] = ['0'];
public checkedKeys: any[] = [];
public selectedKeys: any[] = [];
public children = (dataItem: any): Observable<any[]> => of(dataItem.items);
public hasChildren = (dataItem: any): boolean => !!dataItem.items;
public data: any[] = [
{
text: "root",
type: "directory",
items: [
{
text: "pdf1.pdf",
type: "file"
},
{
text: "new folder",
type: "directory",
items: [
{
text: "pdf2.pdf",
type: "file"
},
{
text: "New folder 1",
type: "directory",
items: [
{
text: "pdf3.pdf",
type: "file"
}
]
}
]
}
]
}
];
...
// Получить JSON из выбранного элемента из Treeview
public SelectedParentitem: any[] = [];
public SelectedParentparent: any[] = [];
public Selecteditemdataitem: any[] = [];
public handleChecking(itemLookup: TreeItemLookup): void {
this.SelectedParentitem = [itemLookup.parent.item];
this.SelectedParentparent = [itemLookup.parent.parent];
this.Selecteditemdataitem = [itemLookup.item.dataItem];
}
File-explorer.component. html
<kendo-treeview
[nodes]="parsedData" textField="text"
[hasChildren]="hasChildren" [animate]="true" [children]="children"
[(expandedKeys)]="expandedKeys"
kendoTreeViewExpandable [expandedKeys]="expandedKeys"
kendoTreeViewHierarchyBinding childrenField="items"
kendoTreeViewCheckable [(checkedKeys)]="checkedKeys" [checkBy]="'text'"
[kendoTreeViewSelectable]="single" [(selectedKeys)]="selectedKeys"
[selectBy]="'text'"
(checkedChange)="handleChecking($event)"
[isChecked]="isChecked">
<ng-template kendoTreeViewNodeTemplate let-dataItem>{{dataItem.text}}</ng-template>
</kendo-treeview>