Zdarzenie onSelectionChange
zastąpiło zdarzenie selected
, ponieważ obecnie możliwe jest rozróżnienie zdarzenia, gdy element jest zaznaczony lub niezaznaczony.
Konieczne jest podanie parametru $event
do metody docelowej w celu rozróżnienia obu przypadków, w przeciwnym razie md-autouzupełnianie wywoła metodę dwukrotnie (raz z nową wybraną pozycją i raz z niezaznaczoną/poprzednią wartością) . Byłoby jednak miło, gdyby dokumentacja była nieco bardziej przejrzysta w odniesieniu do tych zmian.
Poniżej jak dostać tylko "o wybierz" imprezy:
Template
<md-autocomplete #panel="mdAutocomplete" [displayWith]="displayFn">
<md-option (onSelectionChange)="selected($event, country)"
*ngFor="let country of filteredCountries | async" [value]="country">
<div class="selector-elements">
{{ country.name }}
</div>
</md-option>
Controller
selected(event: MdOptionSelectionChange, country: ICountry) {
if (event.source.selected) {
this.propagateChange(country);
}
}
jestem w stanie mieć MdAutocompleteTrigger W moim składnika dodaję: '@ Czynność ViewChild (MdAutocompleteTrigger): MdAutocompleteTrigger; ' ' ngAfterContentInit() { setTimeout (() => this.trigger.openPanel()); } ' ale nie mogę używać optionSelections, może ktoś może dać mi przykład – Yoamb
próbuję to ' ngAfterContentInit() { setTimeout (() => Observable.merge (... this.trigger.optionSelections) . subscribe ((opcja) => console.log (opcja))); } 'ale nie działa – Yoamb