我在Angular中處理一個復雜的表單,我需要一些幫助。讓我詳細解釋我的情況。
我有一個像這樣的formArray:
let slides = new FormArray([]);
slides.push(getNewSlide())
slides.push(getNewSlide())
slides.push(getNewSlide())
slides.push(getNewSlide())
函式 getNewSlide() {
return new FormGroup({
name: new FormControl("", [Validators.required]),
image: new FormControl("", [Validators.required])
})
}
上面的表單將看起來像這樣:
slides = [
{ name: "ram", image: "a.png" },
{ name: "shyam", image: "b.png" },
{ name: "", image: "c.png" }, <== 這里是錯誤的。名字是必須的,所以索引應該是2
{ name: "ghanshyam", image: "d.png" },
]
我想從FormArray中找到包含任何錯誤的表單的索引,但我不知道如何做到這一點。一個重要的問題是,這個表單可以嵌套。比如一個FormGroup可以包含另一個FormGroup或FormArray
有人知道如何深入掃描整個表單并找到第一個錯誤位置的索引(表單的索引),那么請在這里回答。我將感謝你的想法。
謝謝你。
uj5u.com熱心網友回復:
你可以回圈瀏覽formArray控制元件并檢查錯誤。像這樣:
findFirstInvalidControlInFormArray() {
const index = (this.slides as FormArray).controls.findIndex(
(control) => control.invalid
);
console.log(index);
}
如果索引為-1,這意味著,所有的控制元件都是有效的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/326107.html
標籤:
