【问题标题】:Disabled value is not rendering禁用值未呈现
【发布时间】:2019-10-10 23:44:48
【问题描述】:

设置disabled属性按模板正常工作,但控制台显示此警告:

<... ... name="Province" id="name="Province" formControlName="Province" [disabled]="this.listValues.length==0">

所以,我的解决方案是通过后面的代码(.ts 文件):

  this.listValues= regions;
  if (this.listValues.length === 0) {
    this.registerForm.get('Province').disable();
  } else {
    this.registerForm.get('Province').enable();
  }

调试代码我可以确认控件(省)正在将其状态从禁用更改为启用等等,但 html 没有呈现此值/更改。

也试过了:

<... ... name="Province" id="name="Province" formControlName="Province" [attr.disabled]="this.listValues.length==0">

和:

...
this.registerForm = this.formBuilder.group({
      Province: [{ value: '', disabled: this.listValues.length===0}, null],
....

或:

  this.listValues= regions;
  if (this.listValues.length === 0) {
    this.registerForm.controls['Province'].disable();
  } else {
    this.registerForm.controls['Province'].enable();
  }

提前谢谢....

【问题讨论】:

  • [disabled]="registerForm.get('Province').disabled"
  • 小菜一碟...有效...非常感谢...您不想发布答案以奖励您的努力吗? :)
  • 不,伙计,谢谢你的提议,但这只是你的错字(我认为这行在文档中)。你可以直接结束你的问题,别担心!
  • 好的,我会的...再次感谢...
  • 好吧,如果这让您如此困扰,请自己发布答案,我不介意!

标签: angular angular7 angular-ngselect


【解决方案1】:

在@trichetriche 帮助后发布解决方案。希望它能像帮助我一样帮助别人。

HTML

....
<... ... name="Province" id="name="Province" formControlName="Province" [disabled]="registerForm.get('Province').disabled">

TS

.....
      this.listValues= regions;
      if (this.listValues.length === 0) {
        this.registerForm.get('Province').disable();
      } else {
        this.registerForm.get('Province').enable();
      }

【讨论】:

    【解决方案2】:

    [disabled]="boolean"(真或假)

    [disabled]="listValues.length == 0 ? true : false"

    【讨论】:

    • 无法正常工作...就我使用反应式表单而言,会出现警告...您可以在我的帖子中添加的图片中查看它。干杯伙伴。
    猜你喜欢
    • 2011-08-24
    • 1970-01-01
    • 2017-10-07
    • 2020-06-20
    • 2019-04-27
    • 1970-01-01
    • 2017-03-12
    • 2011-04-07
    • 1970-01-01
    相关资源
    最近更新 更多