Передайте FormControl внешнему FormBuilder в Angular 8 - PullRequest
0 голосов
/ 16 января 2020

Мы создаем оболочку для Angular Выбор материала. Как передать FormControl из Inner Component (выпадающий выбор материала) во внешний родительский компонент Formbuilder? Попытка выяснить синтаксис и не использовать ControlValueAccessor, если это возможно.

Выбор раскрывающегося дочернего материала:

TS:

@Input() formControlnput = new FormControl('',[Validators.min(1)]])

HTML:

    <div class="dropdown-cont">
        <mat-form-field appearance="outline">
            <mat-label>{{label}}</mat-label>
            <mat-select
                [formControl]="formControlInput"  // See here
                [(ngModel)]="selectedItem"
                (selectionChange)="selectedItemChanged($event)"
                >
                <mat-option [value]="defaultItem[txtValue]">{{defaultItem[txtField]}}</mat-option>
                <mat-option
                    *ngFor="let item of listItems"
                    [value]="item[txtValue]"
                >
                {{item[txtField]}}
                </mat-option>
            </mat-select>
        </mat-form-field>
    </div>

Родительский компонент:

this.outerForm = this.formBuilder.group({
  'customerName':[null,[Validators.maxLength(50)]],
  'customerPhone': [null, [Validators.maxLength(15)]],
  'formControlInput': [null,[Validators.required]], // <--- Need this from inner component

Как передать внутреннего потомка компонент из выпадающего списка материалов, внешний видBuilder?

1 Ответ

1 голос
/ 16 января 2020

Вы можете использовать @Output() с EventEmitter и просто emit(formControl) в методе дочернего компонента ngOnInit().

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