【问题标题】:Angular 5 - reactive form- is there a way to patch value using a variable?Angular 5 - 反应形式 - 有没有办法使用变量来修补值?
【发布时间】:2019-10-26 16:42:22
【问题描述】:

我有一个包含许多字段的表单组:

    this.addressForm = this.formBuilder.group({
        line1: ['', Validators.required],
        line2: '',
        line3: '',
        line4: '',
        line5: '',
        line6: '',
        line7: '',
        line8: '',
    });

在我的 html 中,每个 formControl 都有一个表单字段,并且在它附近有一个用于清除该表单控件的按钮。

                <mat-form-field>
                    <mat-label>line 1</mat-label>
                    <input matInput formControlName="line1" type="text">
                    <button type="button" (click)="clearLine('line1')">
                    </button>
                </mat-form-field>

我如何编写一个通用方法来获取表单控件的名称并清除它?

我试试这个-

clearLine(line) {
    this.addressForm.patchValue({line: ''});
}

但这不起作用,因为它搜索了一个名为“line”的 formControl。

有没有办法在不执行许多“if”条件的情况下做到这一点?

【问题讨论】:

    标签: javascript angular typescript angular-reactive-forms


    【解决方案1】:

    试试这个

    clearLine(line) {
        this.addressForm.patchValue({[line]: ''}); // added []
    }
    

    【讨论】:

    • 没有问题!...添加括号将使访问替代变量名称。就像 object['hey'] 等于 object.hey。编码愉快!
    猜你喜欢
    • 1970-01-01
    • 2020-11-07
    • 2018-05-04
    • 1970-01-01
    • 2022-01-22
    • 2018-03-23
    • 2019-09-11
    • 2023-03-30
    • 1970-01-01
    相关资源
    最近更新 更多