Думайте о реактивных формах как о формах вокруг вашей модели данных. Таким образом, реактивная форма будет точно соответствовать вашей модели данных.
Рассмотрим эту модель данных, например:
{
id: 1,
name: "Leanne Graham",
username: "Bret",
email: "[email protected]",
isVerified: false,
address: {
street: "Kulas Light",
suite: "Apt. 556",
city: "Gwenborough",
zipcode: "92998-3874",
},
phone: "1-770-736-8031 x56442",
website: "hildegard.org",
posts: [[
{
userId: 1,
id: 1,
title: "sunt aut facere repellat provident occaecati excepturi optio reprehenderit",
body: "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto",
commentIds: [1, 2, 3, 4, 5]
}, {
userId: 1,
id: 2,
title: "qui est esse",
body: "est rerum tempore vitae\nsequi sint nihil reprehenderit dolor beatae ea dolores neque\nfugiat blanditiis voluptate porro vel nihil molestiae ut reiciendis\nqui aperiam non debitis possimus qui neque nisi nulla",
commentIds: [6, 7, 8, 9, 10]
}
]]
}
Теперь вот общая суть того, на что будет похожа Reactive Form для этой модели данных.
- Если значением свойства является объект (например,
address
), то мы создадим для него FormGroup
.
- Если значением свойства является массив (например,
posts
), то мы создадим для него FormArray
.
- Если значение свойства является примитивом (например,
id
, name
, isVerified
и т. д.), мы создадим для него FormControl.
Вот и все. Все довольно прямолинейно.
Теперь вы можете подумать:
Что вы создадите для posts
?
Что вы создадите для commentIds
?
Итак, если вы вернетесь к правилам выше:
Вы создадите FormArray
из FormGroup
s для posts
.
И вы создадите FormArray
из FormControl
s для commentIds
.
Это должно ответить на ваш главный вопрос.
PS: нам понадобится дополнительная информация, чтобы помочь вам с точным кодом того, как сделать то, что вы пытаетесь сделать здесь.
person
SiddAjmera
schedule
16.07.2019
myArray=[2,3]; myFormArray=new FormArray(myArray.map(x=>new FormControl(x)))
- person Eliseo   schedule 16.07.2019