Angular,当model.id大于0时显示formgroup

时间:2018-04-25 11:57:50

标签: javascript angular typescript angular5

我有一个formgroup实例,需要在“model.id> 0”时显示带有formControlName属性的输入,否则显示没有该属性的输入。

但是当我这样做时,我得到一个错误“formGroup需要一个FormGroup实例。请传入一个。”

我该如何解决这个问题?

<form [formGroup]="form">
<div class="margin_bottom__25">
  <div class="form-group row">
    <label for="legalName" class="col-sm-2 form-control-label">{{'STRUCTURES_AND_BRANCHES.branch.branch' | translate}}</label>
    <div class="col-sm-4">
      <span class="form-content" *ngIf="!stateVM.isLegalNameEditable">{{model.legalName}}</span>
      <input *ngIf="stateVM.isLegalName" formControlName="legalName" id="legalName" name="legalName" type="text" class="form-control"
        placeholder="{{'STRUCTURES_AND_BRANCHES.branch.branch_tab.basic_details.legalName_placeholder' | translate}}">
      <input *ngIf="model.id < 1" name="legalName" type="text" class="form-control"
             placeholder="{{'STRUCTURES_AND_BRANCHES.branch.branch_tab.basic_details.legalName_placeholder' | translate}}">
    </div>
    <div class="col-sm-6">
      <div *ngIf="!stateVM.isLegalNameEditable">
        <button [elementAccess]="FormEnum.HeadquarterAndBranch" class="btn btn-purple pull-right" (click)="toggleLegalNameEdit()">
          <i aria-hidden="true" class="fa fa-pencil"></i>
          <span>{{'STRUCTURES_AND_BRANCHES.branch.edit_btn' | translate}}</span>
        </button>
      </div>
      <div *ngIf="stateVM.isLegalNameEditable">
        <button class="btn btn-purple pull-right" [disabled]="!form.controls['legalName'].valid" (click)="onLegalNameSave()">{{'STRUCTURES_AND_BRANCHES.branch.save_btn' | translate}}</button>
        <button class="btn btn-light-gray margin_right__5 pull-right" (click)="onCancelLegalName()">{{'STRUCTURES_AND_BRANCHES.branch.cancel_btn' | translate}}</button>
      </div>
    </div>
  </div>
</div>
</form>

1 个答案:

答案 0 :(得分:0)

尝试使用它。

[hidden]="model.id == 0"
  

* ngIf if false将从DOM中删除元素

     

[hidden]如果为true,则会在css中将显示设置为none