0

我有一个表示对象数组的材料步进器。我正在尝试将角度材料 v9 步进器的当前步长设置为对象数组的最后一个元素。问题是对象数组是一个组件输入,我认为材料步进器在@Input()解决之前正在渲染,所以我得到一个Error: cdkStepper: Cannot assign out-of-bounds value to 'selectedIndex'.错误。

我想如果我以编程方式在ngAfterViewInit()

ngAfterViewInit() {
  this.stepper.selectedIndex = this.inputArray.length;
}

但这似乎仍然会引发错误。我应该在哪里设置这个,以便在渲染材料步进器之后正确设置所选索引,并且在组件接收到输入之后?

请注意,我看到课堂上有许多“生命周期钩子”,MatStepper但我在材料文档中没有看到任何关于它们的文档。

4

1 回答 1

0

您可能正在使用像 array.push 这样的不可变数组来设置父组件中的值。而是使用可变数组,如 array = array.push。这样,变更检测将捕获变更。

于 2020-07-09T15:11:38.943 回答