当复选框签入活动表格时启用

时间:2018-03-10 05:13:59

标签: angular angular-reactive-forms angular-forms reactive-forms

我需要帮助才能在检查复选框时启用行。应禁用默认行,但仅在选中该复选框时,将启用该行。这是我的代码链接

LINK CODES

const responseData = JSON.parse(response.json())

2 个答案:

答案 0 :(得分:4)

  

看一下Demo& SRC

Stack Blitz, Fork

  

说明:

  1. 要启用或禁用输入字段,您需要使用以下语法[attr.disabled]="myForm.get('rows').value[i].checkbox_value ? null: ''"
  2. attr.disabled,此处attr用于绑定不直接存在于元素上的属性
  3. myForm.get('rows').value[i].checkbox_value,可以直接访问表单控件的值。

答案 1 :(得分:2)

另一个方法是创建一个指令

@Directive({
  selector: '[enabledControl]'
})
export class EnabledControlDirective {

    @Input() set enabledControl(condition: boolean) {
        if (this.ngControl) {
            if (this.ngControl.control) {
                if (condition)
                    this.ngControl.control.enable();
                else
                    this.ngControl.control.disable();
            }
        }
  }
  constructor(private ngControl : NgControl ) {
  }
}

然后你就可以使用

<input class="col-md-6" formControlName="quantity"
     [enabledControl]="row.get('checkbox_value').value" >