2

AngularJS のフィルターに問題があります。ここで私のコードを参照してください: http://jsfiddle.net/sqev9/7/

ng-options フィールドでフィルターを使用する選択があります。

ng-options="listitem as listitem.Name for listitem in MyList.Items|filter:FilterList"

この選択はオプションであるため、空のオプションも使用します。

selectのng-modelとして、値「SelectedInList」を使用します

問題は、フィルターが何にも一致しない場合、$scope の "SelectedInList" 変数が null ではないことです。

これをシミュレートするには、「item1」を選択して「Go」を押します。SelectedInList は正しく item1 オブジェクトになりました。ここでフィルターが変更され、リストが「空」になります。「-」項目のみが表示されますが、これも想定どおりです。「go」をもう一度押すと、SelectedInList として「null」が表示されますが、それはまだ item1 オブジェクトであり、これは予想外です。

このアプローチに対する解決策はありますか?

よろしく、トム、

4

1 に答える 1

1

リストがフィルタリングされ、値がなくなった場合、ng-model. これはバグのように思えますが、その理由を理解するにはさらに調査が必要です。

とにかく、解決策はメソッドの最後に設定SelectedInListすることです。nullAdd

于 2013-03-20T12:17:10.147 に答える