Angular, показывать formgroup, когда model.id больше 0 - PullRequest
0 голосов
/ 25 апреля 2018

У меня есть экземпляр формы группы, и мне нужно показывать ввод с атрибутом formControlName, когда "model.id> 0", иначе показывать ввод без этого атрибута.

Но когда я делаю это, я получаю сообщение об ошибке "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 голосов
/ 25 апреля 2018

Попробуйте использовать это.

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

* ngIf, если false удалит элемент из DOM

[hidden], если true установит отображение на none в css

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...