У меня есть два массива объектов A и B, между которыми я помещаю sh объектов. Когда я не использовал фильтр, все работает, то есть я могу переместить объект * B sh из B в A и переместить объект из B в A.
Но у меня проблема с фильтром, что когда я отфильтровываю, например, «Benz», который в удачный день является последним объектом в массиве B, и нажимаю кнопку «Добавить», объект «BMW» - это тот, который был добавлен в массив A вместо «Benz». Это означает, что индекс «массива B» добавлен вместо «индекса фильтра».
Как заставить мою кнопку pu sh фильтровать индекс вместо индекса массива B? Смотрите мой пример кода ниже.
ts
A = [{"name": "Ford"}]
B = [{"name": "BMW"}, {"name": "Toyota"}, {"name": "Jeep"}, {"name": "Benz"}]
addItem(i) {
this.A.push(this.B[i]);
this.B.splice(i, 1);
}
html
<input class="form-control col-md-8" type="search" [(ngModel)]="filterFunction" placeholder="filter here">
<tr *ngFor="let fromB of B | filterBy: filterFunction; let i=index;">
<td><button type="button" (click)="addItem(i)">
<i class="glyphicon glyphicon-plus"></i></button>
</td>
.........
</tr>