如何获取angular4中多个输入字段的值?

时间:2018-07-13 13:42:32

标签: angular angular-material

我在mat-table中定义了输入字段。单击下一步按钮,我想访问component.ts文件中的那些值。我已经有一种单击按钮的方法,但是无法想到一种访问输入值的方法。我也尝试指定名称属性,但每个输入标签都将相同。

HTML代码:

<ng-container matColumnDef="npm">
                  <mat-header-cell *matHeaderCellDef  fxFlex = "15" style="margin-left: 1%;padding-left: 1%;">NPM</mat-header-cell>
                  <mat-cell *matCellDef="let row" fxFlex = "15"> 
                      <span style ="white-space: nowrap">
                          <input decimal = "true" value= '{{this.selectedAccount.occupancy.npm}}'  style ="display:inline-block; width:55%" #npmValueEntered  required> 
                      </span>
                  </mat-cell>
</ng-container>


<button mat-button [disabled] = "stepTwoFormGroup.invalid || overPercentage || disabledButtons" (click)="submit(stepper)" >Next</button>

1 个答案:

答案 0 :(得分:0)

目前尚不清楚您需要如何访问这些值。但是一个简单的解决方案是使用ngModel将输入绑定到数据,而不是初始化数据中的值:

<ng-container matColumnDef="npm">
    <mat-header-cell *matHeaderCellDef  fxFlex = "15" style="margin-left: 1%;padding-left: 1%;">NPM</mat-header-cell>
    <mat-cell *matCellDef="let row" fxFlex = "15"> 
        <span style ="white-space: nowrap">
            <input decimal = "true" [(ngModel)]='this.selectedAccount.occupancy.npm'  style ="display:inline-block; width:55%" #npmValueEntered  required> 
        </span>
    </mat-cell>
</ng-container>

然后,您的submit函数可以通过this.selectedAccount.occupancy.npm访问该值。

但是,如果需要,使用注释中建议的表格可能会给您更好的控制。