首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以反应形式禁用的使用

以反应形式禁用的使用
EN

Stack Overflow用户
提问于 2021-01-05 14:38:05
回答 1查看 152关注 0票数 0

这是我的表格:

代码语言:javascript
复制
damageInfoForm = new FormGroup({
cause : new FormControl('', Validators.required),
subCause : new FormControl('', Validators.required)
 })

字段subCause与字段原因相关,这就是为什么如果字段原因为空,则要禁用字段subCause

所以我就这样编辑我的html:

代码语言:javascript
复制
  <form class="k-form k-form-inline " [formGroup]="damageInfoForm">
                  
                        <div class="col-md-4 no-padding-left">
                          <div [ngClass]="{ 'spaced':true }">
                            <span>cause</span>
          
                            <kendo-combobox  [data]="causes" [disabled]="generalDataForm.get('mainCause').value==''" formControlName="cause" class="form-control">
                            </kendo-combobox>
                            <span>Sub cause</span></span>
                            <kendo-combobox  [data]="subCauses" [disabled]="damageInfoForm.get('cause').value==''" formControlName="subCause" class="form-control">
                            </kendo-combobox>
  </div>
 </div>
</form>

它起作用了,但它给了我警告It looks like you're using the disabled attribute with a reactive form directive

EN

回答 1

Stack Overflow用户

发布于 2021-01-05 14:53:23

您必须通过代码禁用字段,而不是在html中。在侦听原因字段的valueChanges时,可以这样做:

代码语言:javascript
复制
damageInfoForm.get('cause').valueChanges.subscribe(v => {
   if(!v) {
     damageInfoForm.get('subCause').disable();
   }
   else {
     damageInfoForm.get('subCause').enable();
   }});
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65580958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档