Угловое различение нескольких узлов дерева - PullRequest
0 голосов
/ 14 сентября 2018

Я занимаюсь разработкой веб-приложения на Angular.У меня есть компонент дерева на странице.У меня есть динамические вкладки и содержимое в виде узлов дерева.Я изо всех сил, чтобы различать узлы.Ниже приведен код динамической вкладки и дерева.

Ниже приведен машинописный код:

this.arrayTabs.forEach(eachObj => {
  this.tabs.push({
    title: eachObj,
    active: false,
    content: this.nodes
  });
}) 

Ниже приведен HTML-код:

<tabset>
  <tab *ngFor="let tabz of tabs" [heading]="tabz.title">
    <div *ngIf="tabz.title==='Edit'">
      <tree-root #tree
        [nodes]="tabz.content"
        [options]="options">
        <ng-template #treeNodeTemplate let-node="node" let-index="index">
          <input type="checkbox" (change)="toggle($event.target,node)"
[checked]="node.data.checked">
          {{ node.data.name }}"
        </ng-template>
       </tree-root>
     </div>
   </tab>
</tabset>

Это дерево выглядит следующим образом:

enter image description here

Проблема, с которой я сталкиваюсь, как показано ниже.Когда я нажимаю на чекбокс infomodel на вкладке «Добавить», также будет установлен флажок на вкладке «Удалить» или на других вкладках.Ниже мое флажок отмечен событием.

toggle(cb, node, tabtitle) {
  if (cb.checked) {
    node.data.checked = true;
  }
  else {
    node.data.checked = false;
  }
}

Это происходит потому, что когда я выполняю node.data.checked=true или false, все узлы обновляются.Есть ли способ, которым я могу предотвратить это?В идеале узлы должны быть разными для каждой вкладки.Правильный ли метод, которым я следую, или мне следует изменить мою реализацию?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...