Ich habe eine Auswahl, die mit einer Rohrleitung gefiltert wird. Die Auswahl sieht wie folgt aus:Angular2 SELECT OPTION nach Rohr führt
<select ngControl="swimmerz" #swimmer="ngForm">
<option *ngFor="let swimmer of swimmers | swimmerFilter:selectedClub.id:selectedSex" value= {{swimmer.id}}>{{swimmer.name}}</option>
</select>
und der Filter wie folgt aussieht:
import { PipeTransform, Pipe } from '@angular/core';
import { Swimmer } from './swimmer';
@Pipe({
name: 'swimmerFilter'
})
export class SwimmerFilterPipe implements PipeTransform {
transform(value: Swimmer[], clubid: string, sex: string): Swimmer[] {
clubid = clubid ? clubid.toLocaleLowerCase() : null;
console.log('Filter ClubId parameter: ' + clubid);
console.log('Filter Sex parameter: ' + sex);
return clubid ? value.filter((swimmer: Swimmer) =>
swimmer.clubid.toString() == clubid && swimmer.sex == sex) : value;
}
}
Es funktioniert gut. Beim ersten Lauf wird der erste Schwimmer in der Auswahl ausgewählt. Bei nachfolgenden Läufen werden die Optionen gefiltert, aber es ist keine Option ausgewählt. Wie kann ich erzwingen, dass die erste Option ausgewählt wird, nachdem die Pipe ausgeführt wurde?