角度4で単純な配列形式を使用しようとしていましたが、ngModelで奇妙な問題が発生しました。角度4、フォームアレイ(ReactiveFormsModule)でngModelを使用
私のコードを最初にロックしてください。
readonly local = [
'Lorem ipsum dolor sit amet',
'et iusto odio dignissim qui blandit',
'Epsum factorial non deposit',
'Ma quande lingues coalesce'
];
public localModel = this.local;
がngOnInitでシンプルなアドオンでフォームグループを定義します。私のテストデータとフォームのモデル設定
public invoiceForm: FormGroup;
:私のフォームFormGroupの定義
私の方法
フォームグループに私の地元の行:
this.invoiceForm = this._fb.group({ itemRows: this._fb.array([this.initItemRows()]) }); for (let index in this.local) this.setAndReplaceNewERow(+index)
今のところ、すべてが正しいようです。 see result as image
問題
私は、テキストの入力のうちの1つを変更すると、メイン変数も変更されます。変更前
:変更後
FormGroup
{
"itemRows": [
{
"itemname": "Lorem ipsum dolor sit amet"
},
{
"itemname": "et iusto odio dignissim qui blandit"
},
{
"itemname": "Epsum factorial non deposit"
},
{
"itemname": "Ma quande lingues coalesce"
}
]
}
My Local Data
[
"Lorem ipsum dolor sit amet",
"et iusto odio dignissim qui blandit",
"Epsum factorial non deposit",
"Ma quande lingues coalesce"
]
My Form Model
[
"Lorem ipsum dolor sit amet",
"et iusto odio dignissim qui blandit",
"Epsum factorial non deposit",
"Ma quande lingues coalesce"
]
:
FormGroup
{
"itemRows": [
{
"itemname": "Lorem ipsum dolor sit amet"
},
{
"itemname": "et iusto odio dignissim qui blandit"
},
{
"itemname": "changed !!!!!!!!!!!"
},
{
"itemname": "Ma quande lingues coalesce"
}
]
}
My Local Data
[
"Lorem ipsum dolor sit amet",
"et iusto odio dignissim qui blandit",
"changed !!!!!!!!!!!",
"Ma quande lingues coalesce"
]
My Form Model
[
"Lorem ipsum dolor sit amet",
"et iusto odio dignissim qui blandit",
"changed !!!!!!!!!!!",
"Ma quande lingues coalesce"
]
DEMO
だから、基本的に、あなたのreadonly local
変数は同じままにしたいPlunk Demo
ありがとうございます。それはまさに私が望んでいたものでした。 – raminmohammadi