表单禁用的几种方式

1. 禁用一个输入字段,在html 里直接写禁用属性,[ disabled ] = " disabled ", disabled值在指定情况下设置成true就可以了。如果是input框但是使用了form表单的formControlName属性,disabled属性是不起作用的。
2. 在表单验证的地方直接设置,name : [ { value: '', disabled: true }]。但是如果设定指定值,比如:

因为angular在渲染页面时会先调用初始化表单的方法,如果设置的disabled属性的值是调接口传来的,那可能会不起作用,因为表单已经初始化完成但是设置disabled为true的值还没传过来。有时候写在constructor里面不起作用在ngOnInit里面会起作用,也是需要具体情况具体分析的。


3.  获取表单字段设置其禁用,this.form.get( 'name').disable()。但是此方法要注意在后面表单再赋值时要使用this.form.getRawValue()方法。直接赋值的话,获取不到被禁用字段的值。如果是在特定值的时候禁用,加个判断就可以了。

this.daysForm.value取得是FormGroup(form)的value属性,返回一个对象;
this.daysForm.getRawValue()会遍历FormGroup(form)的controls属性,返回每一个FormControl中的value。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值