私はControlArrayを持っていますが、ある時点で複数の項目を削除する必要があります。ControlArrayから複数のコントロールを削除する
これは現在の配列である:「
let myControls = new ControlArray([]);
// Add some items to this array :
for(let i = 0 ; i<5 ; i++){
myControls.push({
firstName : new Control('' , Validators.required) ,
lastName : new Control('' , Validators.required) ,
})
}
// After this my controlArray has 5 controls and
//everything works in the view properly .
は今、私はそれを(クリック)イベントバインドを持っていると私はmyControlsから(すべてのコントロールを削除する)をクリアするボタンがありますが、私はすることができます解決策を見つける。
ドキュメントには、myControlがあります。 removeAt(index) 1つのアイテムだけを削除する機能ですが、すべてのアイテムを削除する機能はありません。
また、私はこれを試してみた:
for(let i = 0 ; i<myControls.length ; i++){
myControls.removeAt(i);
}
しかし、明らかにあなたは、配列から項目を削除するたびので、この文句を言わない作業を、インデックスが変更されます!
ありがとうございます。
配列内の元の要素を参照してくださいなるように、あなたのカウンターで、' ControlArray'は '公共のコントロールを持っているようです。コードを見ると、 'ControlArray'固有のメソッドはこの配列を直接使用しています。 'myControls.controls = []'または 'myControls.controls.length = 0'を行うことは合法であり、承認されていると思います。 –