我正在使用@angular/material
的步进器,但有些行为我无法完全解释。我正在使用一个放置表单组的数组。该数组是ngFor
的来源,并将项目传递给步骤。当我从数组中删除一项时,mat-step's
就消失了。但是列表中仍然充满物品。
使用trackyby并没有帮助。唯一有用的是在更改状态之前选择其他步骤。 (请参阅第51行)
场景:
问题:为什么会这样?
答案 0 :(得分:0)
我认为这是由于this.selectedIndex
造成的。因为在拼接之后,没有带有selectedIndex的项目。因此,您可以按以下方式更改removeone功能。
public removeone() {
console.error('remove: ', this.selectedIndex)
/** REMOVE THE LINE BELOW TO LET THE STEPS STAY ON THE SCREEN */
// this.stepper._steps.first.select();
var selected = this.selectedIndex;
this.stepper._stateChanged();
this.change.detectChanges();
this.stepper.previous();
this._list.splice(selected, 1);
}