角4 MAT-RADIO组,带有垫形式场返回误差

问题描述 投票:0回答:2

<mat-step [stepControl]="firstFormGroup"> <form [formGroup]="firstFormGroup"> <ng-template matStepLabel>Informe o tipo de produto</ng-template> <mat-form-field> <mat-label>Tipo de produto</mat-label> <mat-select matInput formControlName="firstCtrl" required> <mat-option value="cobrenu">Cobre Nú</mat-option> <mat-option value="cordpar">Cordão Paralelo Torcido</mat-option> <mat-option value="prodpad">Produto Padrão</mat-option> </mat-select> </mat-form-field> <div> <button mat-button matStepperNext>Próximo</button> </div> </form>

但这不要:

<mat-step [stepControl]="secondFormGroup"> <form [formGroup]="secondFormGroup"> <ng-template matStepLabel>Informe o produto</ng-template> <mat-form-field> <mat-label>Produto</mat-label> <mat-radio-group aria-label="metros" > <mat-radio-button value="1">100</mat-radio-button> <mat-radio-button value="2">200</mat-radio-button> <mat-radio-button value="3">300</mat-radio-button> <mat-radio-button value="4">400</mat-radio-button> <mat-radio-button value="5">500</mat-radio-button> <mat-radio-button value="6">600</mat-radio-button> </mat-radio-group> </mat-form-field> <mat-radio-group aria-label="metros" > <mat-radio-button value="1">100</mat-radio-button> <mat-radio-button value="2">200</mat-radio-button> <mat-radio-button value="3">300</mat-radio-button> <mat-radio-button value="4">400</mat-radio-button> <mat-radio-button value="5">500</mat-radio-button> <mat-radio-button value="6">600</mat-radio-button> </mat-radio-group> <div> <button mat-button matStepperPrevious>Voltar</button> <button mat-button matStepperNext>Próximo</button> </div> </form> </mat-step>

ImpressAocomponent.html:24错误错误:MAT-FORM-FIEL必须包含一个MatformfieldControl.

Matformfield仅适用于实现MatformfieldControl的组件,例如输入和TextaReas的Matinput。这是V5:
Https://v5.material.angular.io/components/form-field/overview

的文档。 Matradiogroup不实现MatformfieldControl。您可以创建自己的自定义组件,该组件实现matformfieldcontrol并在自定义组件中使用无线电组。

angular-material
2个回答
14
投票

Html: <mat-error *ngIf="form.controls[index].touched && form.controls[index].invalid">This fields is required</mat-error>


1
投票

const controls = this.form.controls; // object of formControls // set all fields touched to show error if anyone is invalid. Object.keys(controls).forEach(key => { controls[key].markAllAsTouched(); });

在此代码中,我解决了我的问题,并显示了错误的错误。

您可以放置一个隐藏的组件,该组件在MAT-FIER-FIEL-FIELD组件内实现MatformfieldControl之类的输入
    

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.