問題タブ [dirty-data]

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.

0 投票する
1 に答える
491 参照

angularjs - How to make angular dropdown control (not select) in angular form?

I want to use a dropdown button instead of a select-options in a form. I'm using angular, and the problem is: 1. The dropdown should display the name of the selection but the form should submit its Id instead 2. Changes to the dropdown don't make the form dirty

How do I resolve this?

0 投票する
0 に答える
117 参照

javascript - AngularJS: 非破壊、ノンブロッキングのフォーム送信

問題

ビューのデータ オブジェクトのさまざまなプロパティにバインドする複数の入力を含むフォームがあるとします。タブアウト (「ぼかし」) すると、その値を保存サービスに保持し、次のフィールドに移動して編集したいと考えています。この保存サービスは、新しく保存されたオブジェクトを完全に返します。次に、更新されたオブジェクトをコントローラーのデータ オブジェクトに書き込むと、編集中の現在の入力の変更が失われます。

質問

ngFormController私が行方不明になっている組み込みの Angular ソリューションはありますか? 入力タイプごとのシナリオなしでこれをサポートするライブラリはありますか?

私は本当に次のようなことを避けることを望んでいます:

...そして、現在のビューモデルを着信ビューモデルと比較する必要があります。

0 投票する
0 に答える
114 参照

javascript - ember データ関係と Ready/Loaded イベント

ember データにダーティ リレーションシップ トラッキングが組み込まれるまでは、独自のデータを展開してきました。(かなり古いものから) Ember/Ember Data 2.4.3 にアップグレードした後、カスタム ソリューションが機能しなくなりました。

問題は、レコードの関係状態のスナップショットを、後の状態と比較できる「元の」状態としていつ作成するかを知ることです。

アダプターのペイロードに次のものが含まれているとします。

結果のレコードのreadyフックで、新しい参照 API を使用すると、次のようなことが言えると思います。

しかし、これはうまくいかないようです --commentIdsは空の配列です。

(プロパティを観察してisLoadedも、私が望む結果が得られないように見えることに注意してください。レコードは、イベントが発生した時点で既にloaded状態になっています。)ready

基本的に、アダプターのペイロードに関してrelationshipsLoadedレコードの関係が設定されたときに発生するイベントのようなものが欲しいです。関連するレコード自体が利用できないか、読み込まれていない可能性がありますが、アダプターから返されたデータに基づいて、関係を持つレコードの状態に影響を与えるべきではありません。

いくつかの探検の後、ストアのバックバーナーにフックすると、機能するように見える何かが提供されることがわかりました。

しかし、これは明らかに大雑把であり、私が保証したいことを本当に保証しているかどうかはわかりません。

だから:これを行う本当の方法はありますか?より良い方法は?これは今後の機能ですか?

参考までに、codepen のイラストを作成しました: https://codepen.io/patternleaf/pen/Vazdxj

0 投票する
2 に答える
5800 参照

vb.net - 選択/テキストがフォームで変更されたかどうかを確認する

データを事前にロードした約 20 個のコントロール ( 、 など) を含むフォームがありComboBoxます。TextBoxこれはユーザーに表示され、任意のフィールドを変更する機能をユーザーに提供します。

変化が起こったことを認識する最良の方法がわかりません。いくつかの調査の後、私はそれらの線に沿っTextBox.TextChangedてフラグまたは何かを見つけて設定しました。IsDirty = True

ユーザーが値を変更してから戻って、最初にロードされたときの状態に変更する可能性があるため、これが 100% の防弾になるとは思いません。現在のデータをに保存し、ユーザーが「キャンセル」をクリックして変更を保存するかどうかを尋ねるときに入力したデータ.Tagと比較することを考えていました。.Text

これは私のコードです:

これは、ユーザーが [キャンセル] をクリックしたときのコードです。

これはこれを行う効果的な方法ですか?頼れるか?誰かがより良いアイデアを持っているなら、私はそれを聞きたい.

0 投票する
1 に答える
113 参照

vb.net - TabPage で変更が行われたかどうかを検証する

だから、誰かが私に何かをする方法を教えてくれるかどうか疑問に思っています。アプリケーションに tabControl があります。約 25 ~ 30 個のフィールドを持つページ (TabPage1) をロードします。すべてのデータをロードすると、ループを実行して各コントロール値を .tag に保存します。基本的に各コントロールの ctr.tag.tostring <> ctr.text をチェックする isDirty() という関数もあります。フォーム上のすべてのコントロールをチェックするためのクイック ハンドラーを作成する方法を理解するのに苦労しています。TagPage1.Validating を使用してみましたが、何もしません。

私の isDirty() 関数は次のようになります...

この関数をどこかにプラグインして、次のように CALL を実行できることを望んでいます

コントロールの選択が変更されるたびにこれを呼び出す必要がありますか?

0 投票する
0 に答える
264 参照

javascript - AngularJs、オブジェクトをダーティとしてマーク

Web API から取得され、「編集可能」なオブジェクトがいくつかあります。ユーザーが 1 つのオブジェクトを編集すると、いくつかのフィールドを変更できます。isDirtyオブジェクトがいつ変更されたかを知るために、これらのオブジェクトにフィールドを維持したいと思います ( isDirty==true)。

オブジェクトにこのフィールドを設定するために、AngularJs の変更検出メカニズムに頼ることができるのでしょうか?

0 投票する
1 に答える
37 参照

javascript - $scope の使用を避けて、ユーザー アクションで AngularJS ダーティ ビットを設定することはできますか?

フォームに設定 (チェック ボックスなど) のテーブルがあり、ユーザーはテーブルの行を追加および削除できます。 theForm.$dirtyユーザーが設定を変更した場合 (たとえば、チェック ボックスをオンまたはオフにした場合) に設定されますが、テーブルに行が追加またはテーブルから削除された場合には設定されません。https://plnkr.co/edit/sOXFnZjpkrcExvxGsEVgに例があります

私は比較的新しい Angular 開発者ですが、$scope回避できる場合は参照するのがベスト プラクティスではないと警告されています。この場合、コントローラーを依存させ、テーブルを変更する関数を呼び出すことができると思います。それが私の唯一の手段なのか、それともより良いアプローチがあるのか​​ はわかりません。$scope$scope.theForm.$setDirty()