角度 - 隐藏/显示部分重置表单数据

时间:2017-09-11 14:29:19

标签: angular toggle hide show

我有forminput个字段和一些select字段,如下所示:

<div class="form-row ">
<div on-click="datiReferentiBancaClicked = !datiReferentiBancaClicked"></div>
<div class="form-row" *ngIf="!datiReferentiBancaClicked">
<label>Nome</label>
<input type="text" id="refbnkNome" [ngModel]="richiesta.refbnkNome" formControlName="refbnkNome" placeholder="Nome">
</div>
</div>

所以第一个div切换第二个。问题是,当我隐藏第二个div并且我在字段中有一些数据时,此数据将重置为div隐藏。为什么会这样?我必须设置一些房产吗?感谢。

3 个答案:

答案 0 :(得分:1)

<div class="form-row">
<div ng-click="datiReferentiBancaClicked = !datiReferentiBancaClicked">Toggle</div>
<div class="form-row" ng-show="!datiReferentiBancaClicked">
<label>Nome</label>
<input type="text" id="refbnkNome" ng-model="richiesta.refbnkNome" placeholder="Nome">
</div>
<div class="form-row" ng-hide="datiReferentiBancaClicked">
// if datiReferentiBancaClicked is true!. This div will be active!
</div>
</div>
// This code is example for toggle

答案 1 :(得分:0)

您可以使用[ngStyle] =&#34; myFunction&#34;隐藏你的div而不是* ngIf

然后在你的组件中:

<div [hidden]="datiReferentiBancaClicked"></div>

绑定到[hidden]属性

df.index = df.index.astype(int)

* ngIf从DOM中移除可见性:隐藏的元素。

答案 2 :(得分:0)

使用ngHide代替ngIf。它只会折叠元素并使其不可见,而ngIf则完全从DOM中重新元素。