1

フォームにいくつかのフィールドがあります。ユーザーがドロップダウンで選択した値を変更するとhideExpression、ユーザーが選択した内容に応じてフィールドを表示/非表示にする各フィールドがあります。これは現在正常に動作します。

ただし、ドロップダウンのデフォルトを選択の最初のオプションにしようとしています。これもうまくいきます。

hideExpression私の問題は、画面の読み込み時にすべてのロジックが起動されていないことです。したがって、選択は正しくデフォルト設定されていますが、そのオプションに対応するフィールド (表示されるべき) は表示されません。

ドロップダウン値を手動で変更すると、すべてが正しく表示されます。hideExpression選択がコードを介してデフォルト設定されている場合でも、ロジックを開始する方法はありますか?

これが私の問題のJSBinです: http://jsbin.com/doliyiruza/edit?js,console,output

ページのデフォルトは Option2 です。ただし、オプション 2 が選択されるたびに表示される非表示のフィールドがあります。したがって、ドロップダウンを Option1 に変更してから Option2 に戻すと、隠しフィールドが表示されます。デフォルトでドロップダウンを特定の値に設定すると、非表示/表示ロジックが開始されないようです。

4

1 に答える 1

1

あなたが持っていたものが機能しなかった理由は 100% わかりませんが、コントローラーで DOM を照会することは非常に悪い考えです。また、angular-formly は意図的にフィールド ID を非決定論的にしようとするため、それを行うことはできません (おそらく、よりランダムにする必要があります)。これがあなたが達成しようとしていると私が思うことです: http://jsbin.com/bifaza/edit?js,console,output

于 2015-09-04T20:26:20.450 に答える