Теперь matAutocomplete работает, когда значение получает изменения. Мне нужно ограничить работу фильтра в matautocomplete, когда пользователь щелкает курсор в поле ввода автозаполнения. Для меня каждый раз, когда пользователь щелкает поле matInput, в нем должен отображаться весь список с выбранным вариантом вместо отфильтрованного значения. Я пытаюсь достичь функциональности как matselect, так и matAutocomplete в одном.
Это должно делать только фильтр, когда пользователь ищет опцию, вводя запрос. И он не должен выполнять фильтрацию, когда пользователь щелкает поле ввода.
1) Он должен искать или фильтровать список, когда пользователь вводит строку в поле автозаполнения. 2) Он также должен иметь функциональность mat-select.
Заранее спасибо.
фрагмент кода ts
this.currencySubs = this.currencyService.loadCurrency('en').subscribe(currency => {
if(currency.responseCode == "0"){
this.currencyList = currency.currencyList;
thi.filteredCurrency = this.currencyForm.controls['currency'].valueChanges
.pipe(
startWith(''),
map(cur => typeof cur === 'string' ? cur : ''),
map(cur => cur ? this._filterCur(cur):this.currencyList.slice())
);
}else{
console.log('Error in response');
}
}
);
html фрагмент кода
<mat-form-field class="currency" appearance="outline">
<div class="autoSearch">
<i class="fa fa-search" aria-hidden="true"></i>
<input #curInp type="text" matInput fromControlName="currency" id="currency" [matAutocomplete]="curauto" />
</div>
<mat-autocomplete #curauto="matAutocomplete" [displayWith]="displayCurrency">
<mat-option #curoption *ngFor="let currency of filteredCurrency | async " [value] ="currency">
{{currency }}
</mat-option>
</mat-autocomplete>
</mat-form-field>