Не удается найти элемент управления с именем: «Приветствие» - PullRequest
0 голосов
/ 01 ноября 2019

с использованием реактивных форм для получения значения выбора мата, но это дает ошибку. Не удается найти элемент управления с именем: 'Приветствие': вот мой код

  <form [formGroup]="customerService.formModel" autocomplete="off" class="container" (ngSubmit)="onSubmit()">
  <p class="header-p">CONTACT INFORMATION</p>
  <div class="form-group" fxLayout="row" fxLayout.xs="column" fxLayout.md="column" fxLayout.sm="column">
    <mat-form-field fxFlex="20%" appearance="outline">
      <mat-label class="label-text">Salutation</mat-label>
      <mat-select class="form-control" formControlName="Salutation" placeholder="Salutation">
        <mat-option *ngFor="let salutation of salutations" value="salutation">{{salutation}}</mat-option>
      </mat-select>
      <mat-icon class="icon-color" matSuffix>person</mat-icon>
    </mat-form-field></div></form>

Файл компонента

   export class RegistrationComponent implements OnInit {
      constructor(public customerService :CustomerService ) { }
      ngOnInit(){}
      salutations:string[] =['Mr','Ms'];
}

файлы служб

  export class CustomerService {
constructor(private fb: FormBuilder){ }
formModel:FormGroup =new FormGroup({});
ngOnInit(): void {

  this.formModel = this.fb.group({
    Salutation:['',Validators.required]})

в чем проблема? я не могу понять

1 Ответ

1 голос
/ 01 ноября 2019

Я думаю, что проблема в том, что у formGroup нет Salutation, потому что вы используете хук ngOnInit в сервисе, и, согласно моим исследованиям, сервис не вызывается. Попробуйте войти в formGroup и построить форму в конструкторе

export class CustomerService {
formModel:FormGroup;
constructor(private fb: FormBuilder) {
this.formModel = this.fb.group({
 Salutation:['',Validators.required]});
}

Должен был быть комментарий, но с моей репутацией я не смог.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...