vue と Element-plus を使用して検索およびフィルタリング機能を実装する方法
Vue と Element-Plus を使用して検索およびフィルター機能を実装する方法
はじめに:
最新の Web アプリケーションでは、検索およびフィルター機能は非常に重要な部分であり、ユーザーが目的の内容をすばやく見つけるのに役立ちます。欲しい、情報が必要。人気の JavaScript フレームワークである Vue と、Vue 用の UI コンポーネント ライブラリである Element-Plus を組み合わせることで、検索機能やフィルタリング機能を簡単に実装できます。この記事では、Vue と Element-Plus を使用してこれらの関数を実装する方法を紹介し、関連するコード例を示します。
- 準備
まず、Vue と Element-Plus をインストールする必要があります。次のコマンドを使用してインストールできます:
npm install vue npm install element-plus
- Vue アプリケーションの作成
次に、Vue アプリケーションを作成する必要があります。 Vue のスキャフォールディング ツールを使用して、基本的な Vue アプリケーションを作成できます。コマンド ラインで次のコマンドを実行します:
vue create search-filter-app cd search-filter-app
次に、プロンプトに従って構成オプションを選択するか、デフォルト構成を直接使用して Vue アプリケーションを生成します。
- Element-Plus コンポーネントのインポート
作成した Vue アプリケーションで、Element-Plus の関連コンポーネントをインポートする必要があります。src/main.js
ファイルを開き、次のコードを追加します。
import { createApp } from 'vue' import App from './App.vue' import ElementPlus from 'element-plus' createApp(App).use(ElementPlus).mount('#app')
ここでは、ES6 モジュール インポート構文を使用し、createApp
関数をインポートします。 Element-Plus コンポーネントの使用が必要です。次に、createApp
関数を使用して Vue アプリケーションを作成し、アプリケーションで Element-Plus を使用しました。
- 検索およびフィルター コンポーネントの作成
検索およびフィルター機能を実装する 2 つの Vue コンポーネントを作成できます。src/components
ディレクトリに 2 つのファイルSearchBar.vue
とFilterBar.vue
を作成します。SearchBar.vue
ファイルに次のコードを追加します:
<template> <div> <el-input v-model="searchKeyword" placeholder="请输入搜索关键字"></el-input> </div> </template> <script> export default { data() { return { searchKeyword: '' } }, watch: { searchKeyword(newKeyword) { this.$emit('search', newKeyword) } } } </script>
次のコードを FilterBar.vue
ファイルに追加します:
<template> <div> <el-select v-model="filterOption" placeholder="请选择过滤条件" @change="filterData"> <el-option label="选项1" value="option1"></el-option> <el-option label="选项2" value="option2"></el-option> <el-option label="选项3" value="option3"></el-option> </el-select> </div> </template> <script> export default { data() { return { filterOption: '' } }, methods: { filterData() { this.$emit('filter', this.filterOption) } } } </script>
ここでは、それぞれ 2 つのコンポーネントを作成し、コンポーネント内で Element-Plus 入力ボックスとドロップダウン選択ボックス コンポーネントを使用しました。 SearchBar
コンポーネントでは、v-model
ディレクティブを使用して双方向データ バインディングを実装し、watch
で searchKeyword## を監視していることに注意してください。オプション # が変更され、
$emit メソッドを通じて値が親コンポーネントに渡されます。
- 検索コンポーネントとフィルター コンポーネントの使用
- アプリ コンポーネントでは、以前に作成した検索コンポーネントとフィルター コンポーネントを使用できます。
src/App.vueファイルを開き、次のコードを追加します。
<template> <div> <SearchBar @search="handleSearch"></SearchBar> <FilterBar @filter="handleFilter"></FilterBar> <ul> <li v-for="item in filteredData" v-bind:key="item.id">{{ item.name }}</li> </ul> </div> </template> <script> import SearchBar from './components/SearchBar.vue' import FilterBar from './components/FilterBar.vue' export default { components: { SearchBar, FilterBar }, data() { return { data: [ { id: 1, name: 'item1', option: 'option1' }, { id: 2, name: 'item2', option: 'option2' }, { id: 3, name: 'item3', option: 'option3' } ], searchKeyword: '', filterOption: '' } }, computed: { filteredData() { let result = this.data if (this.searchKeyword) { result = result.filter(item => item.name.toLowerCase().includes(this.searchKeyword.toLowerCase())) } if (this.filterOption) { result = result.filter(item => item.option === this.filterOption) } return result } }, methods: { handleSearch(keyword) { this.searchKeyword = keyword }, handleFilter(option) { this.filterOption = option } } } </script>
< を渡します。 SearchBar @search="handleSearch">and
イベントをアプリ コンポーネントのメソッドにバインドします。 data にデータ配列を定義し、検索キーワードとフィルタ条件に従ってフィルタリングして、filteredData 配列を取得します。次に、
v-for ディレクティブを使用して、filteredData 配列内の各要素をリスト項目としてレンダリングします。
- コードの実行
- 最後に、コマンド ラインで次のコマンドを実行してアプリケーションを開始できます。
npm run serve
http にアクセスします。ブラウザー://localhost:8080 にアクセスすると、検索ボックスとドロップダウン選択ボックスのあるページが表示されます。検索キーワードを入力するか、フィルタ条件を選択すると、入力に基づいてリスト内のデータが検索およびフィルタされます。
Vue と Element-Plus を使用すると、検索機能とフィルタリング機能を簡単に実装できます。 VueのデータバインディングとElement-Plusの入力ボックスやドロップダウン選択ボックスのコンポーネントを利用し、イベントやデータの送信を通じてデータに検索キーワードやフィルター条件を適用することで、検索・フィルター機能を実現しました。上記は簡単な例であり、独自のニーズに応じてさらに開発およびカスタマイズできます。
以上がvue と Element-plus を使用して検索およびフィルタリング機能を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Vue で ECharts を使用すると、アプリケーションにデータ視覚化機能を簡単に追加できます。具体的な手順には、ECharts および Vue ECharts パッケージのインストール、ECharts の導入、チャート コンポーネントの作成、オプションの構成、チャート コンポーネントの使用、Vue データに対応したチャートの作成、対話型機能の追加、および高度な使用法の使用が含まれます。

質問: Vue におけるエクスポートのデフォルトの役割は何ですか?詳細説明: エクスポートデフォルトは、コンポーネントのデフォルトのエクスポートを定義します。インポートすると、コンポーネントが自動的にインポートされます。インポートプロセスを簡素化し、明確さを改善し、競合を防ぎます。一般に、名前付きエクスポートとデフォルト エクスポートの両方を使用して、個々のコンポーネントをエクスポートし、グローバル コンポーネントを登録するために使用されます。

Vue.js マップ関数は、各要素が元の配列の各要素の変換結果である新しい配列を作成する組み込みの高階関数です。構文は、map(callbackFn) です。callbackFn は、配列内の各要素を最初の引数として受け取り、オプションでインデックスを 2 番目の引数として受け取り、値を返します。 map 関数は元の配列を変更しません。

Vue.js では、event はブラウザによってトリガーされるネイティブ JavaScript イベントですが、$event は Vue コンポーネントで使用される Vue 固有の抽象イベント オブジェクトです。 $event はデータ バインディングをサポートするようにフォーマットおよび拡張されているため、一般に $event を使用する方が便利です。ネイティブ イベント オブジェクトの特定の機能にアクセスする必要がある場合は、event を使用します。

Vue.js でモジュールをエクスポートするには、エクスポートとデフォルトのエクスポートの 2 つの方法があります。 export は名前付きエンティティのエクスポートに使用され、中括弧の使用が必要です。export default はデフォルト エンティティのエクスポートに使用され、中括弧は必要ありません。インポートする場合、エクスポートによってエクスポートされたエンティティはその名前を使用する必要がありますが、エクスポートのデフォルトによってエクスポートされたエンティティは暗黙的に使用できます。複数回インポートする必要があるモジュールにはデフォルトのエクスポートを使用し、一度だけエクスポートするモジュールにはエクスポートを使用することをお勧めします。

onMounted は、Vue のコンポーネント マウント ライフ サイクル フックです。その機能は、コンポーネントが DOM にマウントされた後に、DOM 要素への参照の取得、データの設定、HTTP リクエストの送信、イベント リスナーの登録などの初期化操作を実行することです。コンポーネントが更新された後、またはコンポーネントが破棄される前に操作を実行する必要がある場合は、他のライフサイクル フックを使用できます。

Vue フックは、特定のイベントまたはライフサイクル ステージでアクションを実行するコールバック関数です。これらには、ライフサイクル フック (beforeCreate、mounted、beforeDestroy など)、イベント処理フック (クリック、入力、キーダウンなど)、およびカスタム フックが含まれます。フックはコンポーネントの制御を強化し、コンポーネントのライフサイクルに対応し、ユーザーの操作を処理し、コンポーネントの再利用性を向上させます。フックを使用するには、フック関数を定義し、ロジックを実行してオプションの値を返すだけです。

Vue.js イベント修飾子は、次のような特定の動作を追加するために使用されます。 デフォルト動作の防止 (.prevent) イベント バブリングの停止 (.stop) ワンタイム イベント (.once) イベントのキャプチャ (.capture) パッシブ イベント リスニング (.passive) アダプティブ修飾子 (.self)キー修飾子 (.key)
