Как мы перемещаем объект из одного массива в другой при выборе этого объекта с помощью API и ANGULAR 7? - PullRequest
0 голосов
/ 09 мая 2019

У меня есть список сотрудников с {"id", "name", "designation"}, и теперь я добавил кнопку, чтобы добавить некоторые из них в массив менеджеров, нажав эту кнопку, все эти массивы, которые я использовал через API.Итак, как мы можем переместить одного из сотрудников в массив менеджеров, нажав?Я попробовал что-то ... что было ужасно неправильно.помогите мне

HTML:

<div class="object center">
     <h5>{{emp.name}}</h5>
     <p>emp-id:{{emp.empid}}</p>
     <button class="btn" (click)="onPush(emp.empid)">Make manager</button> 
</div>

Component.ts

onPush(empid){
    this.httpClient.put('http://localhost:3000/manager/' + empid)
    .subscribe(success => {this.ngOnInit()}, error => {console.log("error")})
  }

}

// this is my API

{
  "employees": [
    {
      "empid": 214564567,
      "name": "kolerag",
      "designation":"lorem ipsum"
    },
    {
      "empid": 214345546,
      "name": "gunretro",
      "designation":"lorem ipsum"
     },
     {
      "empid": 2142225555,
      "name": "trevanew",
      "designation":"lorem ipsum"
     },

  ],
  "managers": []
  }

Итак, нажав кнопку, объект от сотрудников должен добавить объект кМенеджер Array. введите описание изображения здесь

1 Ответ

0 голосов
/ 09 мая 2019

Манипуляции на стороне клиента:

Предположим, data - это переменная, содержащая сведения как о сотруднике, так и о менеджере.

data : {
    employess : {
        empid : number,
        name  : string,
        designation    : string
    }[],
    managers  : {
        empid : number,
        name  : string,
        designation    : string
    }[]
}

onPush(id){

    // Temporary variable
    let temp : {
        empid : number,
        name  : string,
        designation    : string
    } = this.data.employees.find(emp=>emp.empid==id);

    // Add to managers array
    this.data.managers.push(temp);

    // Slice from employees
    this.data.employees = this.data.employees.filter(emp=>emp.empid!=id);

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