Как отобразить весь массив в Vue? - PullRequest
0 голосов
/ 07 мая 2020

ОБНОВЛЕНИЕ Я собираюсь упростить вопрос. Как отобразить весь массив и удалить id = 2?

Я использую компонент treeview Vuetify. Я могу щелкнуть узел на любом уровне и нажать одну кнопку удаления, чтобы удалить его. Поскольку можно добавить много дочерних узлов, мне нужно изменить свой метод, чтобы иметь возможность просматривать весь массив, а не только определенный уровень c, как у меня.

  1. this.active - это выбранный узел. Я использую идентификатор узла, чтобы найти его место в массиве элементов.
  2. 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))
    }
    
...