Использование Angular 2 и Angular Material 6.4.7
Мне нужно установить выбранную по умолчанию опцию, используя компонент выбора мата.
Следующий код работает как надо и устанавливает значение по умолчаниюзначение, когда я не использую привязку [formControl].
пример ниже:
<mat-form-field>
<mat-select [(value)]="currentYear" placeholder="Select A Year" [formControl]="year.get('year')" >
<mat-option *ngFor="let y of yearsArr;" [value]="y">{{ y }}</mat-option>
</mat-select>
</mat-form-field>
Текущий год (currentYear) - это переменная, которая получает значение текущего года.
Однако, когда я использую привязку элемента управления формой, он не может установить параметр по умолчанию для компонента выбора матов.
пример ниже:
<mat-form-field>
<mat-select [(value)]="currentYear" placeholder="Select A Year" [formControl]="year.get('year')" >
<mat-option *ngFor="let y of yearsArr;" [value]="y">{{ y }}</mat-option>
</mat-select>
</mat-form-field>
Я искал переполнение стека инаткнулся на это решение, которое работает, однако я получаю предупреждение в консоли браузера, я не уверен, является ли это правильным методом достижения этого.
пример ниже:
<mat-form-field>
<mat-select [(ngModel)]="currentYear" placeholder="Select A Year" [formControl]="year.get('year')" >
<mat-option *ngFor="let y of yearsArr;" [value]="y">{{ y }}</mat-option>
</mat-select>
</mat-form-field>
ниже выдается предупреждение:
Похоже, вы используете ngModel в том же поле формы, что и formControl.Поддержка использования свойства ввода ngModel и события ngModelChange с директивами реактивной формы устарела в Angular v6 и будет удалена в Angular v7.Подробнее об этом см. В наших документах по API здесь: https://angular.io/api/forms/FormControlDirective#use-with-ngmodel
Я прочитал приведенный выше вывод, но все еще не могу понять, как это исправить.
Любая помощьЯ буду очень признателен за разъяснение или разъяснение мне правильного метода достижения этого.