Vueでファジークエリを実装する方法の簡単な例

Vueでファジークエリを実装する方法の簡単な例

序文

いわゆるファジークエリとは、ユーザーの完全な入力やすべての入力情報がなくてもクエリサービスを提供することです。つまり、ユーザーは入力中にプロンプ​​ト情報(実際にはクエリで見つかった一致情報)を見ることができます。Baiduの検索機能は、ファジークエリの良い例です。実際、ファジークエリの原理は、oninputイベントを入力ボックスにバインドしてユーザーの入力を監視し、ユーザーが入力ボックスに情報を入力するたびにイベントがトリガーされてクエリが実行され、リアルタイムに表示されることです。原理は非常に単純ですが、実装にはいくつかの問題があります。文字が入力されるたびにイベントがトリガーされると考えることができます。長いメッセージを入力する必要がある場合、クエリを複数回トリガーする必要がありますか? ajax が連続して複数回トリガーされ、メソッド本体に DOM 要素を操作するメソッドがある場合、ブラウザは必然的に一時停止状態になったり、クラッシュしたりします。この問題を解決する方法はあるのでしょうか?答えは「はい」です

Vueはファジークエリを実装する

ウォッチと計算を使用してVueでファジークエリを実装する

聴取法は計算法でも実施できますが、聴取法の方が複雑なので計算法を使用することをお勧めします。

まず次のコード実装を見てみましょう

計算によって実装

監視による実装

HTML コード <div id="root">
        <h2>スタッフリスト</h2>
        <input type="text" placeholder="お名前を入力してください" v-model="keyWord">
        <ul>
            <li v-for="(p,index) filPersons の" :key="index">
                {{p.name}}-{{p.age}}-{{p.sex}}
            </li>
        </ul>
    </div>
スクリプトコード new Vue({
        el:"#ルート",
        データ:{
            キーワード:''、
            人数:

                {id:'001',名前:'馬東梅',年齢:18,性別:'女性'},
                {id:'002',名前:'周冬雨',年齢:19,性別:'女性'},
                {id:'003',名前:'ジェイ・チョウ',年齢:21,性別:'男性'},
                {id:'004'、名前:'デリック・ワン'、年齢:22、性別:'男性'}
        ]、
        },
        計算:{
            filPersons(){
                return this.persons.filter((p)=>{//フィルタリングされた配列を返します return p.name.indexOf(this.keyWord) !==-1
                })//filter はキーワードを含まないケースを除外するフィルタリング関数です}
        }
    })

ウォッチ関数を使用してボックスの値が変化するかどうかを監視します

HTMLコードは変更されません スクリプトコード new Vue({
        el:"#ルート",
        データ:{
            キーワード:''、
            人数:

                {id:'001',名前:'馬東梅',年齢:18,性別:'女性'},
                {id:'002',名前:'周冬雨',年齢:19,性別:'女性'},
                {id:'003',名前:'ジェイ・チョウ',年齢:21,性別:'男性'},
                {id:'004'、名前:'デリック・ワン'、年齢:22、性別:'男性'}
        ]、
        filPersons:[//これが存在しない場合、personsの値を元の値に戻すことはできません]
        
        },
        時計:{
            キーワード:{
                immediate:true, //ボックスの値が変更されていないすべての状況を表示するには、次の関数を実行します handler(val){
                    this.filPersons = this.persons.filter((p)=>{
                    p.name.indexOf(val) !==-1 を返す
                })
                }
            }
            
        }
    })

要約する

Vue のファジークエリ実装に関するこの記事はこれで終わりです。Vue のファジークエリ実装に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • VueはInput入力ボックスのファジークエリメソッドを実装します
  • Vueは入力ボックスのファジークエリのサンプルコードを実装します(スロットリング機能の適用シナリオ)
  • Vue2 フィルター ファジー クエリ メソッド
  • Vue 入力ボックスのファジークエリのサンプルコード
  • Vue はファジークエリを実装します - MySQL データベースデータ

<<:  MySQL データベース開発の 36 の原則 (要約)

>>:  Linux md5sumコマンドの使い方

推薦する

Vue3 でモバイル ログインおよび登録モジュールをエレガントに実装する方法

目次序文入力ボックスコンポーネントレイアウトvモデルデータ検証ルール設計形状サブコンポーネントは検証...

CSSアニメーションとSVGを組み合わせてエネルギーの流れの効果を作成する

最終的な効果は次のようになります。アニメーションは2つのステップに分かれていますランニング軌道を開発...

Idea で Tomcat のソースコードデバッグを開始し、デバッグのために Tomcat に入る方法

idea 開発ツールを使用してコードをデバッグする場合、Java Web プロジェクトで、Web コ...

IDEA を使用して Tomcat を設定し、JSP ファイルを作成する方法

idea を使用して JSP ファイルを書き込む前に、jdk 環境 (ここでは説明しません) と対応...

ffmpeg 中国語パラメータの説明と使用例

1. ffmpeg がビデオ ファイルをプッシュする場合、オーディオとビデオのエンコード形式は H2...

JavaScript CollectGarbage 関数の例

まず、メモリ解放の例を見てみましょう。 <スクリプト言語="JavaScript&q...

Vueは、サイドナビゲーションバーをタブページに関連付けるサンプルコードを実装します。

目次テクノロジースタック効果分析するテクノロジースタックサイドバー用Antdtabは要素を使用します...

純粋な CSS でフォ​​ーム検証を実装するためのサンプル コード

日常業務において、フォームの検証は非常に一般的な設計要件です。ログイン ボックスや登録ボックス、アン...

jsのイベントループ機構の解析

序文ご存知のとおり、JavaScript は本質的にシングルスレッドですが、ブラウザは非同期リクエス...

MySQL チュートリアル: サブクエリの例の詳細な説明

目次1. サブクエリとは何ですか? 2. サブクエリはどこに表示されますか? 3. Whereサブク...

一般的なメールボックスで正常に表示できる HTML メールを作成するためのヒント

HTML メールを送信するためのヒント: スタイルを使用してインライン CSS を記述する、使用する...

Linux Dig コマンドの使用法

発掘紹介: Dig は、Unix ライクなコマンドライン モードで NS レコード、A レコード、M...

sbinディレクトリを生成せずにNginxをインストールするソリューション

エラーの説明: 1. Linux (CentOS 7 64) システムに Nginx (1.18.0...

MySQL ステートメントを使用して、さまざまな整数が占めるバイト数とその最大値と最小値を調べる例

直接コード: タイプとして「bigint unsigned」、バイトとして「8」、max_numとし...