Angular дерево кедо | Как получить полный путь из JSON и пустые отмеченные клавиши после снятия отметки - PullRequest
0 голосов
/ 05 августа 2020

У меня есть компонент, в котором я предоставляю данные из Json,

  1. Мне нужно, когда пользователь ПРОВЕРИТЬ элемент, чтобы получить весь путь от Json
  2. Когда снимите флажок это, чтобы очистить 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...