Angular Материал Mat-Tree-Node размещает родительский элемент с дочерними элементами случайным образом - PullRequest
0 голосов
/ 10 июля 2020

Angular Дерево материалов принимает те же данные, что и массив, и иногда оно берет дочерние элементы и помещает их на тот же уровень, что и родительский элемент, а в других случаях оно работает правильно. Поведение случайное. Иногда это работает, иногда нет с теми же данными.

Вот данные. Как видите, на верхнем уровне есть массив с одним элементом и несколькими дочерними элементами.

enter image description here

Here is the way the data looks in the tree when it shows up correctly. As you can see the value property on the mat-tree preserves the original array and you can see the children property nested underneath.

enter image description here

Here is the way the data looks in the tree when it renders incorrectly. As you can see in the value property. For some reason, it is creating an array and placing the parent at the same level last its children and merging them together for some reason. I am not sure what is causing this issue.

введите описание изображения здесь

Данные точно такие же. Я могу продолжать нажимать refre sh, и иногда он будет отображаться нормально, а иногда mat-tree объединяет родительский элемент с дочерними.

Я устанавливаю Tree просто в коде метода жизненного цикла NgOnit. Я пробовал как напрямую размещать данные, так и использовать наблюдаемый _data, и просто «писать текстовые сообщения» для массива данных.

ngOnInit() {
this.orderService.subscribeToStore();
this.subscribeToDetailOrder();
  const data = treeify(this.orderService.purchaseOrder.lineItems);
  console.log("tree data init", data);
  this.treeList._data.next(data);
  console.log("TreeList", this.treeList);
});

Почему дерево матов иногда объединяет родительский и дочерний элементы вместе при доступе к странице а в других случаях отображается правильно.

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