2016-12-07 5 views
0

私はAngular Material md-selectコントロールを使用しています。私のユースケースでは、オプションをドロップダウンから変更したときにユーザーに警告メッセージを表示することが提案されています。これは、現在表示されているデータと選択されたオプションが同期していないことを通知するものです。md-selectで同じオプションの選択を防ぐより良い方法がありますか

しかし、ユーザーが効果的に値を変更したときにのみメッセージを表示したいと思います(同じオプションを再選択した場合は無視します)。

現在、私はmd-on-closeに変更ロジックがあります。したがって、拡張と折りたたみだけでエラーメッセージが表示されますが、これは望ましくありません。

は今、私はto a $がon the MD-SELECT`モデルを見て、そこに効果的な変更を探しにクローズ私はmd-からこのロジックを動かすことができることを承知しています。

また、最後に選択した値をサービスに保存し、各md-on-closeの値を比較することもできます。

しかし、これを行う適切な方法ではないと私は信じているので、$watchは使用しません。サービスにおける値の追加と更新は、冗長なタスクのようです。

現在、私はこれを比較するより良い方法を探しています。 md-select

+0

フィールドの初期値を保存し、その値を 'ng-show'で現在選択されている値と比較する - 値が異なる場合にのみメッセージを表示する – Fissio

答えて

0

腕時計を使いたくない場合は、単にng-

<md-select ng-model="selectedOption" ng-change="dropdownOptionChanged()"> 

をそしてdropdownOptionChanged()機能に警告表示を扱う:このように、ディレクティブを変更します。

ユーザの選択によってモデルが変更された場合にのみトリガされ、ユーザが同じオプションを選択した場合はトリガしません。

関連する問題