Sự kiện onSelectionChange
thay thế sự kiện selected
vì giờ đây có thể phân biệt sự kiện khi mục được chọn hoặc không được chọn.
Cần phải chuyển tham số $event
cho phương pháp đích để phân biệt giữa hai trường hợp, nếu không md-autocomplete sẽ gọi phương thức hai lần (một lần với mục được chọn mới và một lần với giá trị chưa được chọn/trước đó) . Nó sẽ là tốt đẹp mặc dù, rằng các tài liệu hướng dẫn sẽ được một chút rõ ràng hơn về những thay đổi này.
Dưới đây như thế nào để có được chỉ là "trên một số" sự kiện:
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>
khiển
selected(event: MdOptionSelectionChange, country: ICountry) {
if (event.source.selected) {
this.propagateChange(country);
}
}
tôi có thể có MdAutocompleteTrigger Trong thành phần của tôi thêm: '@ Kích hoạt ViewChild (MdAutocompleteTrigger): MdAutocompleteTrigger; ' ' ngAfterContentInit() { setTimeout (() => this.trigger.openPanel()); } ' nhưng tôi không thể sử dụng optionSelections, có thể ai đó có thể cho tôi một ví dụ – Yoamb
tôi cố gắng này 'ngAfterContentInit() { setTimeout (() => Observable.merge (... this.trigger.optionSelections) . đăng ký ((tùy chọn) => console.log (tùy chọn))); } 'nhưng không hoạt động – Yoamb