You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular 12 Mat-Dialog中Form Group值为空问题求助

解决Angular Material表单无法获取值的问题

你的代码里存在一个拼写错误,导致表单控件没有和FormGroup正确绑定,所以无法获取输入值:

  • HTML中input标签的属性写错了:formControName 少了一个字母l,正确的属性名是 formControlName

修正后的HTML代码

<form [formGroup]="addNewDeductionForm">
   <mat-dialog-content fxLayoutGap="2%">
     <mat-form-field >
      <mat-label>Starting balance</mat-label>
      <input formControlName="startingBalance"> <!-- 已修正拼写错误 -->
     </mat-form-field>
   </mat-dialog-content>
   <mat-dialog-actions align="end">
    <button mat-raised-button mat-dialog-close (click)="AddDeduction()">Add Deduction</button>
   </mat-dialog-actions>
</form>

额外检查项

确保组件所属的模块已经导入了必要的表单和Material模块,否则表单指令无法生效:

import { ReactiveFormsModule } from '@angular/forms';
import { MatFormFieldModule } from '@angular/material/form-field';
import { MatInputModule } from '@angular/material/input';
import { MatDialogModule } from '@angular/material/dialog';

@NgModule({
  imports: [
    // ...其他模块
    ReactiveFormsModule,
    MatFormFieldModule,
    MatInputModule,
    MatDialogModule
  ],
  declarations: [DialogDeductionsComponent]
})
export class YourModule { }

修正后再次点击按钮,addNewDeductionForm.value就能正确获取到输入框的内容了。

内容的提问来源于stack exchange,提问作者Lio Liov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 11:57:15