Как сделать рекурсию на блок вывода потомков в дереве?

Вот что имею, собственно я так понимаю без рекурсии тут никак, как организовать эту часть кода, чтобы она множилась, а не переписывалась данными? Нужно ли выносить в отдельный компонент это?
5b3e796583d72384427673.png
  • Вопрос задан
  • 528 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега Vue.js
Нужно ли выносить в отдельный компонент это?

Да. Рекурсивный компонент. Для вложенных данных компонент создаёт экземпляры самого себя. Условие продолжения рекурсии (рендеринга конкретного экземпляра компонента) - корректность данных, надо проверять, что в компонент был передан массив ненулевой длины. Например:

name: 'v-tree',
props: [ 'items' ],

<ul v-if="Array.isArray(items) && items.length">
  <li v-for="n in items">
    {{ n.name }}
    <v-tree :items="n.children" />
  </li>
</ul>
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы