リーリー
最初は、ユーザー データが完全にロードされます。後で、2 つのフィルター、つまり検索フィルター用の 1 つに基づいて、すべてのユーザーの配列から配列を除外する必要があります。次に、users 配列のステータスに基づくドロップダウンでは、配列をフィルタリングする必要があります。
コードを変更して正しく動作するようにする方法。現在、検索またはドロップダウンから配列をフィルタリングしません。ただし、それはデータを表示するだけです。
この例が正しく動作するには、いくつかの変更が必要です。
まず、表示内容を更新する必要があります。現在のリスト (フィルタリングされたリストが含まれる) の代わりに、変数 sourceInfo を出力することをお勧めします。したがって、HTML セクションのどこかに
sourceInfo
この変更を行った後は、コンソールにエラー メッセージが表示されているはずです。これは、sourceInfo の内容が使用されており、最終的に評価されるためです。メッセージの内容は次のとおりです。
したがって、this.userList を this.users に変更する必要があります。これは、ユーザーのリストを含む実際の変数です。
this.userList
this.users
別のエラーがポップアップ表示されます:
これは、includes() 関数によって返されることが期待される boolean に sort() 関数を適用することで得られます。したがって、最後のステップとして、ユーザーがテキスト検索条件に一致するかどうかをチェックし、結果を返す前にそれを適用するフィルターの sort() 部分を削除します。 リーリー
includes()
boolean
sort()
nok の場合、1 人のユーザーが対応するステータスを持っている場合でも、空の配列が返されることに気づくかもしれません。これは、ドロップダウン要素 nok に値 notok が割り当てられているためです。したがって、値を nok に変更するだけです。 リーリー
の場合、1 人のユーザーが対応するステータスを持っている場合でも、空の配列が返されることに気づくかもしれません。これは、ドロップダウン要素
に値
が割り当てられているためです。したがって、値を
に変更するだけです。
https://codesandbox.io/s/vue-sort-problem-hgdm7?file=/src/components/HelloWorld.vue
この例が正しく動作するには、いくつかの変更が必要です。
まず、表示内容を更新する必要があります。現在のリスト (フィルタリングされたリストが含まれる) の代わりに、変数
を追加します。 リーリーsourceInfo
を出力することをお勧めします。したがって、HTML セクションのどこかにこの変更を行った後は、コンソールにエラー メッセージが表示されているはずです。これは、
リーリーsourceInfo
の内容が使用されており、最終的に評価されるためです。メッセージの内容は次のとおりです。したがって、
リーリーthis.userList
をthis.users
に変更する必要があります。これは、ユーザーのリストを含む実際の変数です。別のエラーがポップアップ表示されます:
リーリーこれは、
これで基本的な機能が動作するはずです。ドロップダウンのフィルターをチェックすると、includes()
関数によって返されることが期待されるboolean
にsort()
関数を適用することで得られます。したがって、最後のステップとして、ユーザーがテキスト検索条件に一致するかどうかをチェックし、結果を返す前にそれを適用するフィルターのsort()
部分を削除します。 リーリーnok
コードを実行する codesandbox へのリンクは次のとおりです:の場合、1 人のユーザーが対応するステータスを持っている場合でも、空の配列が返されることに気づくかもしれません。これは、ドロップダウン要素
nokに値
notokが割り当てられているためです。したがって、値を
nokに変更するだけです。
リーリーhttps://codesandbox.io/s/vue-sort-problem-hgdm7?file=/src/components/HelloWorld.vue