首页 > 解决方案 > 角反应形式禁用输入字段

问题描述

我有一个反应形式的组件

  form = this.fb.group({
    fullname: this.fb.group({
      name: '',
      lastName: '',
    }),
    income: this.fb.group({
      preTax: '',
      annualIncome: { value: '', disabled: true },
    }),
    job: '',
    realName: false,
  });

尽管年收入字段已禁用,但我已绑定到返回数字的方法

<input 
      formControlName="annualIncome" 
      [value]="calculateAnnualIncome(form.value.income.preTax)"
      type="text" 
      class="form-control">

调用的方法是:

  calculateAnnualIncome(preTax) {
    return preTax * 14 * ((100 - 21) / 100);
  }

虽然我在尝试检索该字段时看到了该字段的值,但它返回“”

console.log(this.form.get('income.annualIncome').value)

output: ""

我怎样才能收到该字段的实际值?

标签: angular

解决方案


在您的 .ts 中,

ngOnInit() {
    this.form.controls["income.annualIncome"].valueChanges.subscribe(value => {
       console.log(value);
    });
}

推荐阅读