私の人生にとって、私は無効なFormArrayを作成できるはずです。私は1-nサブ配列(またFormArray)でビュー専用の親フォーム(FormArray)を構築しようとしています。サブアレイを子コンポーネントに渡してコントロールを初期化します(FormControl)。私は別のオプションを使用して、ライフサイクルの異なるフックで親フォーム上disable()
を呼び出して試してみた子コンポーネントを持つ無効なフォームを作成するにはどうすればよいですか?
、それがこの例外をスロー:それは確認した後
発現が変更されました。以前の値: 'true' 現在値:「偽」です。 、フォームを作成する>無効にしない、
ngOnInit
に例外を投げる - ngOnInit
で
- を、両方のフォームを作成し、無効にします。
ここのは、私が試したもののいくつかのカップルの例であり、 ngAfterViewInit
に無効化フォーム - >は無効んが、例外
フォームの古いバージョンのオプションは、これはもはやなく、動作します(悲しいことに)反対しない、と受け入れスロー次のようになります:new FormArray({ value: myControlsArray, disabled: true })
。
私はコンポーネント階層とモデルをモデル化するためにplnkrを作成しました。
無効になっているフォームを初期化する方法を知っている人はいますか?
編集(回答):私は情報の重要な部分を見落とし、解決方法を見落としました。私の使用例では、保存されたフォーム値を取り、新しい読み取り専用フォームを初期化します。保存されたフォームの値を子コンポーネントに渡す代わりに、親フォームとそのサブフォームとコントロールを作成する必要があります。
:
app.component.ts:
アプリ-radio.component.tsここでそれがどのように見えるかの抜粋とworking exampleですまずそれを作成してから無効にする必要があります。 –
@RomanC私の質問が、私が使用している現在の方法であることが明らかになったことを願っています。発生している変更検出例外に注意してください。理想的には、無効状態でフォームを初期化する方法がありますが、現実的には、 'disable()'メソッドをどこで呼び出すかを決める手助けが必要です。 – stealththeninja