Я переключаю позицию автозаполнения с помощью переменной:
<mat-form-field class="dialerFormField">
<input
type="text" matInput[formControl]="myTextControl"
[matAutocomplete]="auto"
#autoCompleteInput
/>
<mat-autocomplete #auto="matAutocomplete">
<mat-optgroup
*ngFor="let group of usersGroup"
[label]="group.type"
>
<mat-option *ngFor="let user of group.users" [value]="user.number">
{{ user.name }}
</mat-option>
</mat-optgroup>
</mat-autocomplete>
</mat-form-field>
@ViewChild('autoCompleteInput', {
read: MatAutocompleteTrigger,
static: true,
})
autoComplete: MatAutocompleteTrigger;
if (this.clickedOnExtDialpad) {
this.autoComplete.position = 'above';
} else {
this.autoComplete.position = 'below';
}
Когда выполняется условие if-else
, независимо от того, какая позиция установлена, панель автозаполнения открывается только в этой позиции и не обновляется позже при выполнении условия if-else.
Почему позиция не обновляется?