Как удалить, нажав на нее ..? - PullRequest
1 голос
/ 03 июля 2019

У меня есть одно содержимое таблицы, в котором я создал представление его списка и выполнил на нем задачу редактирования и удаления.

Я пытаюсь вызвать его, вызывая в службах метод splice и компонентэто сервис по id.

table.component.ts :

 delete(com) {
    this.service.DeleteUser(com);
    console.log(com);
}

table.component.html :

<a class="btn btn-outline-danger  btn-sm" (click)="delete(com.id)">Delete</a>

сервис :

 DeleteUser(index: number) {
    this.company.splice(index, 1);
    this.company_change.next(this.company.slice());
  }

Я хочу получить кнопку удаления при рабочем состоянии, список company:Company[] создан по типу model.

Ответы [ 2 ]

2 голосов
/ 03 июля 2019

Попробуйте:

замените com.id на i в функции щелчка delete

<tr class="table-active" *ngFor="let com of company;  let i = index">
        <td>{{com.co_name}}</td>
        <td>{{com.co_profile}}</td>
        <td>{{com.co_address}}</td>
        <td>{{com.co_email}}</td>
        <td>
          <a class="btn btn-outline-secondary btn-sm" [routerLink]="['/table',com.id]">
            Edit
          </a>
          <a class="btn btn-outline-danger  btn-sm" (click)="delete(i)">Delete</a>
        </td>
      </tr>
1 голос
/ 03 июля 2019

Когда вы передаете компанию id (не индекс) здесь (click)="delete(com.id)", вы должны отфильтровать список компании, чтобы найти индекс (i) компании, чей идентификатор совпадает с идентификатором, который вы передали, а затем склеить компанию список на основе индекса.

Попробуй так:

 DeleteUser(id: number) {

    for(let i=0;i<this.company.length;i++) {
      if(this.company[i].id == id) {
        this.company.splice(i, 1)
      }
    }
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...