ОБНОВЛЕНИЕ Я собираюсь упростить вопрос. Как отобразить весь массив и удалить id = 2?
Я использую компонент treeview Vuetify. Я могу щелкнуть узел на любом уровне и нажать одну кнопку удаления, чтобы удалить его. Поскольку можно добавить много дочерних узлов, мне нужно изменить свой метод, чтобы иметь возможность просматривать весь массив, а не только определенный уровень c, как у меня.
- this.active - это выбранный узел. Я использую идентификатор узла, чтобы найти его место в массиве элементов.
this.items - массив в виде дерева. После нахождения совпадающего идентификатора узел удаляется из массива.
active:[{id:2}],
items: [
{
id: 1,
name: "Organization",
type: "root",
children: [
{
id: 2,
name: "Minnesota",
type: "location",
children: [
{
id: 3,
name: "Minneapolis",
type: "location",
children: [
{
id: 4,
name: "Uptown",
type: "location",
children: []
}
]
}
]
},
{
id: 6,
name: "Iowa",
type: "location",
children: []
}
]
}
],
deleteFolder() {
let node = this.active[0].name;
this.items.map(
item => (item.children = item.children.filter(child => child.name != node))
}