Angular:使用NgIf删除组件,内部表单和元素?

问题描述 投票:1回答:1

如何使用* NgIf或任何Ng函数删除Dom元素和组件?

我有一个下拉列表;根据下拉菜单,它将显示不同的形式。当人员更改下拉列表类型,然后稍后返回到相同的下拉列表类型时-以前的表单数据仍然存在,应将其清除。

下拉列表更改时删除所有表单,变量和组件本身的最佳方法是什么?

请参见下面的声明,

<div class = "addressformtotal">
    <div class = "addressblock">
        <app-address-formatheader-form></app-address-formatheader-form>
        <div *ngIf="formatMessage?.addressFormatDescription.includes('Standard')"><app-address-mailing-standard-form></app-address-mailing-standard-form></div>
        <div *ngIf="formatMessage?.addressFormatDescription.includes('Military')"><app-address-mailing-military-form></app-address-mailing-military-form></div>
        <div *ngIf="formatMessage?.addressFormatDescription.includes('Post')"><app-address-mailing-pobox-form></app-address-mailing-pobox-form></div>
        <div *ngIf="formatMessage?.addressFormatDescription.includes('Free')"><app-address-free-form></app-address-free-form></div>
        <div *ngIf="formatMessage?.addressFormatDescription.includes('Rural')"><app-address-mailing-rural-form></app-address-mailing-rural-form></div>
        <div *ngIf="formatMessage?.addressFormatDescription.includes('International')"><app-address-mailing-international-form></app-address-mailing-international-form></div>
    </div>
javascript css angular typescript angular8
1个回答
0
投票

我想说的是使用反应形式,以便您可以进行形式重置。这不是两种绑定方式,因此您可以通过这种方式更好地控制数据。

因此,在下拉列表更改时,ngIf将创建一个新的反应形式,其中将没有数据。

检查如何创建反应形式here

我对正在发生的事情的猜测是,您绑定了共享组件(父组件)提供的数据,子组件由于双向绑定而发生更改,因此它们保持不变。

© www.soinside.com 2019 - 2024. All rights reserved.