Javascript 如何在Angular 5中使用材质步进器

Javascript 如何在Angular 5中使用材质步进器,javascript,angular,material-design,frontend,angular-material2,Javascript,Angular,Material Design,Frontend,Angular Material2,我现在对Angular有点陌生,我正试图弄清楚如何制作一个简单的步进器,它可以(1)-(2)-(3) 我已将html记录为app.component.html <mat-horizontal-stepper [linear]="true" #stepper> <mat-step label="Step 1"> step 1 </mat-step> <mat-step label="Step 2">

我现在对Angular有点陌生,我正试图弄清楚如何制作一个简单的步进器,它可以(1)-(2)-(3)

我已将html记录为app.component.html

<mat-horizontal-stepper [linear]="true" #stepper>
    <mat-step label="Step 1">
        step 1
    </mat-step>
    <mat-step label="Step 2">
        step 2
    </mat-step>
</mat-horizontal-stepper>

导入角度材质的以下组件,并使用与现有代码相同的代码

模块.ts

import { MatStepperModule, MatInputModule, MatButtonModule, MatAutocompleteModule } from '@angular/material';


@NgModule({
    imports: [
        ...    
        MatStepperModule,
        MatInputModule,
        MatButtonModule,
        MatAutocompleteModule,                        
    ],...
import { FormGroup, FormBuilder, Validators } from '@angular/forms';

....
export class ComponentStepper{

  isLinear = true;
  firstFormGroup: FormGroup;
  secondFormGroup: FormGroup;

  constructor(private _formBuilder: FormBuilder){} 

  ngOnInit() {
    this.firstFormGroup = this._formBuilder.group({     
    });
    this.secondFormGroup = this._formBuilder.group({
      secondCtrl: ['', Validators.required]
    });
  }
}
HTML

<mat-horizontal-stepper [linear]="isLinear"> 
    <mat-step [stepControl]="firstFormGroup">
       <form [formGroup]="firstFormGroup">  
        <ng-template matStepLabel>Step 1</ng-template>  
        <button mat-button mat-raised-button color="primary" matStepperNext>Solve</button>        
      </form>
    </mat-step>

    <mat-step [stepControl]="secondFormGroup">
      <form [formGroup]="secondFormGroup">
        <ng-template matStepLabel>Step 2</ng-template>
        <mat-form-field>
            <input matInput placeholder="Any input" formControlName="secondCtrl" required>
        </mat-form-field>
        <button mat-button mat-raised-button color="primary" matStepperNext>Next</button>          
        <button mat-button mat-raised-button color="" matStepperPrevious>Back</button>        
      </form>
    </mat-step>

    <mat-step>
      <ng-template matStepLabel icon>Done</ng-template>
      You are now done.      
      <button mat-button mat-raised-button color="primary" >Done</button>      
    </mat-step>
</mat-horizontal-stepper>

这是一个完整的示例,即使使用FormGruop验证

导入以下棱角材料组件,并使用与您相同的代码

模块.ts

import { MatStepperModule, MatInputModule, MatButtonModule, MatAutocompleteModule } from '@angular/material';


@NgModule({
    imports: [
        ...    
        MatStepperModule,
        MatInputModule,
        MatButtonModule,
        MatAutocompleteModule,                        
    ],...
import { FormGroup, FormBuilder, Validators } from '@angular/forms';

....
export class ComponentStepper{

  isLinear = true;
  firstFormGroup: FormGroup;
  secondFormGroup: FormGroup;

  constructor(private _formBuilder: FormBuilder){} 

  ngOnInit() {
    this.firstFormGroup = this._formBuilder.group({     
    });
    this.secondFormGroup = this._formBuilder.group({
      secondCtrl: ['', Validators.required]
    });
  }
}
HTML

<mat-horizontal-stepper [linear]="isLinear"> 
    <mat-step [stepControl]="firstFormGroup">
       <form [formGroup]="firstFormGroup">  
        <ng-template matStepLabel>Step 1</ng-template>  
        <button mat-button mat-raised-button color="primary" matStepperNext>Solve</button>        
      </form>
    </mat-step>

    <mat-step [stepControl]="secondFormGroup">
      <form [formGroup]="secondFormGroup">
        <ng-template matStepLabel>Step 2</ng-template>
        <mat-form-field>
            <input matInput placeholder="Any input" formControlName="secondCtrl" required>
        </mat-form-field>
        <button mat-button mat-raised-button color="primary" matStepperNext>Next</button>          
        <button mat-button mat-raised-button color="" matStepperPrevious>Back</button>        
      </form>
    </mat-step>

    <mat-step>
      <ng-template matStepLabel icon>Done</ng-template>
      You are now done.      
      <button mat-button mat-raised-button color="primary" >Done</button>      
    </mat-step>
</mat-horizontal-stepper>

这是一个完整的过程,即使有FormGruop验证以及Abel Valdez的答案,也不要忘记将CdkStepperModule导入stepper才能工作

 import { CdkStepperModule } from '@angular/cdk/stepper';


除了Abel Valdez的答案之外,别忘了将CdkStepperModule导入stepper工作

 import { CdkStepperModule } from '@angular/cdk/stepper';


从何处导入模块?不要导入模块。很抱歉,我只是得到一个错误:无法绑定到“linear”,因为它不是“mat horizontal stepper”的已知属性。1.如果“mat horizontal stepper”是一个角度组件,并且有“linear”输入,那么请验证它是否是此模块的一部分。我编辑了我的帖子,在module.ts和component.ts中有一个完整的演示,请查看一下。您收到了吗@用户10109从何处导入模块?不要导入模块。很抱歉,我只是得到一个错误:无法绑定到“linear”,因为它不是“mat horizontal stepper”的已知属性。1.如果“mat horizontal stepper”是一个角度组件,并且有“linear”输入,那么请验证它是否是此模块的一部分。我编辑了我的帖子,在module.ts和component.ts中有一个完整的演示,请查看一下。您收到了吗@user10109您是否正在寻找类似这样的东西-import matstepperpermodule来解决问题issue@NagaSai是这样的,但是我想知道如何修改我的代码来做到这一点,你是在寻找这样的东西-导入MatStepperModule来解决这个问题吗issue@NagaSai是这样的,但是我想知道如何修复我的代码这样做