我有form
个input
个字段和一些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
隐藏。为什么会这样?我必须设置一些房产吗?感谢。
答案 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中重新元素。