我目前正在尝试在示例中应用垫步进器功能 来自material.angular.io,我正尝试像示例中所示类似地应用
https://stackblitz.com/angular/vmqlalbjanq?file=app%2Fstepper-overview-example.html
在此示例中,这里有3个标签1)填写您的姓名2)填写您的地址,然后3)完成
每个标签中都有类似“填写您的姓名标签”的输入,您必须填写姓氏和名字 是必填项,如果您不填写输入内容,则会显示为红色。现在我希望标签也显示为红色 如果我没有填写输入内容,有人可以告诉我该怎么做。
答案 0 :(得分:1)
要更改材料步进器的样式,您需要覆盖默认的材料步进器样式,如下所示
在您的 style.css 文件
中添加以下样式SendInput
希望获得帮助!
答案 1 :(得分:0)
您必须在stepper-overview-example组件中编辑stepper提供商。
import {STEPPER_GLOBAL_OPTIONS} from '@angular/cdk/stepper';
@Component({
selector: 'stepper-overview-example',
templateUrl: 'stepper-overview-example.html',
styleUrls: ['stepper-overview-example.css'],
providers: [{
provide: STEPPER_GLOBAL_OPTIONS, useValue: {showError: true}
}]
})
如果要显示一些错误消息,请使用errorMessage
属性作为mat-step
的输入
<mat-step [stepControl]="firstFormGroup" errorMessage="Name is required.">
<form [formGroup]="firstFormGroup">
<ng-template matStepLabel>Fill out your name</ng-template>
<mat-form-field>
<input matInput placeholder="Last name, First name" formControlName="firstCtrl" required>
</mat-form-field>
<div>
<button mat-button matStepperNext>Next</button>
</div>
</form>
</mat-step>
答案 2 :(得分:0)
要使步骤标签在输入无效时变为红色,应将标签更改为
<ng-template matStepLabel>
<span [ngStyle]="{'color': isNameValid() ? 'black' : 'red'}">Fill out your name</span>
</ng-template>
并在控制器中添加方法
isNameValid() {
return this.firstFormGroup.pristine || this.firstFormGroup.valid;
}
工作示例: https://stackblitz.com/angular/vmqlalbjanq?file=app%2Fstepper-overview-example.html
答案 3 :(得分:0)
您可以使用 ng-template 显示标签:
<ng-template matStepLabel>
<div class="stepper-label"> Name of the label </div>
</ng-template>
现在在CSS文件中,使用“ stepper-label”添加样式:
.stepper-label {
color:red;
}