問題タブ [angular2-formbuilder]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angular - formbuilder配列に値を設定する方法
配列値を formBuilder.array に設定することに問題があります。配列ではないformBuilderでは、この方法でsetValueを使用できますが、formBuilder.arrayではできません。formbuilder の 'listServiceFeature' と 'listservicefeature' に値を設定しようとしましたが、どちらの方法でも値が設定されません。
TS
html
angular - 親コンポーネントと子コンポーネントの間でフォーム ステータス データを渡す
Angular 2 を使用して、管理を容易にするために 1 つの親コンポーネントと 2 つの子コンポーネントに分割した長くて複雑なフォームがあります。検証のためにフォームのステータスを追跡する必要があるまで、このプロセスはうまく機能します。バインドされたモデルに関するデータは @Input を介して簡単に送信できますが、フォーム自体に関するデータを送信する方法がわかりません。
擬似コードを使用した例を次に示します。
フォームの下部に、JSON パイプを使用してフォームの値を表示しています。f.value
「詳細」および「高度な」入力に関するデータを表示する必要があります。親コンポーネントがフォームのステータスを追跡できるように、親コンポーネントと子コンポーネントの間で情報を渡すにはどうすればよいですか? 理想的には、これはテンプレート駆動型とリアクティブ型の両方で機能します。
angular - 反応型の双方向バインディング
Angular 2 を使用すると、テンプレート駆動型フォームでの双方向バインディングが簡単になります。バナナ ボックス構文を使用するだけです。モデル駆動型のフォームでこの動作をどのように再現しますか?
たとえば、これは標準的なリアクティブ フォームです。見た目よりもはるかに複雑で、さまざまな入力とビジネス ロジックが非常に多く、テンプレート駆動型のアプローチよりもモデル駆動型のアプローチに適しているとしましょう。
では、subscribe()
あらゆる種類のロジックをフォーム値に適用し、必要に応じてマップできます。ただし、フォームからのすべての入力値をマップしたくありません。と同様のアプローチで、テンプレートの json パイプに表示されるemployee
ように、更新されるモデル全体の値を確認したいだけです。[(ngModel)]="example.name"
どうすればこれを達成できますか?
angular - Angular 2: 複数のボタンを持つ NgForm
私はカートを開発しようとしています。カート全体は、追加/削除/続行などの複数のボタンで構成されています。送信タイプの続行ボタンにのみ検証を適用したいです。ただし、現在、いずれかのボタンをクリックすると、検証がアクティブになります。
非常に複雑なコードであるため、コードを投稿できません。これがフォームの通常の動作なのか、それとも私の側でエラーが発生している可能性があるのかをお知らせください.
ありがとう
angular - リアクティブフォーム - フィールドをタッチ済みとしてマーク
フォームのすべてのフィールドをタッチ済みとしてマークする方法がわかりません。主な問題は、フィールドに触れずにフォームを送信しようとすると、検証エラーが表示されないことです。コントローラーにそのコードのプレースホルダーがあります。
私の考えは単純です:
- ユーザーが送信ボタンをクリックする
- すべてのフィールドがタッチ済みとしてマークされます
- エラーフォーマッタが再実行され、検証エラーが表示されます
新しいメソッドを実装せずに、送信時にエラーを表示する方法が他にある場合は、共有してください。ありがとう!
私の簡略化されたフォーム:
そして私のコントローラー:
angularjs - FormBuilder を使用して元のままだが無効なフォームを強調表示する
Angular 2 を使用FormBuilder
してダーティで無効なフィールドを強調表示するのは簡単です。ただし、フィールドをダーティに変更することなく、元の状態ではあるが無効なフォームを送信できます。
たとえば、このコードは、入力に触れずにフォームを送信するFormGroup
と、無効になるが.ng-pristine
テキスト フィールドに残ることを示します。これは、テキスト フィールドに問題があることをユーザーに通知しないことを意味します。
Plunkerの例。
フォームを送信するときに、どうすればプリスティンFormControl
をダーティに変更できますか?
angular - モデル主導のフォーム - 手付かずの状態は常に真
プログラムで pristine を false に設定するにはどうすればよいですか?
this.myForm.get('categories').set
...何を設定しますか?setPristine はありません。
何らかの理由で、次のようにカテゴリを設定すると:
this.myForm.controls.categories.pristine
は依然として true に等しいです。
angular - 入力の配列を使用して Angular 2 リアクティブ フォームを作成する方法
Angular 2 を学習するために独自の請求アプリを構築しています。formBuilder でモデルを作成しました。私のモデルには入力の配列 (請求書の項目) が含まれており、それがテンプレートにマップされると、エラーが発生します。(私はこの例に従いました: https://scotch.io/tutorials/how-to-build-nested-model-driven-forms-in-angular-2 )。
エラー、コントローラー、およびテンプレートは次のとおりです。
エラー:
コントローラ:
テンプレート (エラーが発生する領域):