我正在使用Material - Angular2 Stepper,我有一些额外的步骤需要根据用户在第一步中选择的内容添加/启用。
我尝试了以下方法:
- 将额外的表单加载到一个数组中,
- 在模板中使用
这对于添加新步骤很有效,但问题是我无法删除它们。如果用户回到第一个表单并取消选择某些内容,则不需要这些额外的步骤。
因此,尝试像这样做:
我还尝试了
有什么解决方法吗?
我尝试了以下方法:
- 将额外的表单加载到一个数组中,
- 在模板中使用
*ngFor
循环遍历它。<mat-vertical-stepper linear>
<mat-step [stepControl]="firstForm" label="First">
<!-- Some form controls -->
</mat-step>
<mat-step *ngFor="let f of additionalForms" [stepControl]="f.form"
[label]="f.label">
<!-- Additional Steps -->
</mat-step>
</mat-vertical-stepper>
这对于添加新步骤很有效,但问题是我无法删除它们。如果用户回到第一个表单并取消选择某些内容,则不需要这些额外的步骤。
因此,尝试像这样做:
this.additionalForms = []
不会删除步骤。(直到单击“已删除”的步骤之一,然后它会抛出一个错误:Cannot read property 'editable' of undefined
,然后它们才被视觉上删除)我还尝试了
ChangeDetectorRef.detectChanges()
和尝试将其包装进 NgZone.run()
中,但没有任何区别。有什么解决方法吗?