Vue コンポーネントの実践: データ フィルタリング コンポーネントの開発
Vue 開発では、データ フィルタリングは一般的に使用される機能の 1 つです。この記事では、Vue コンポーネントの実際の使用方法、つまりデータ フィルタリング コンポーネントの開発について詳しく説明し、具体的なコード例を通じてその実装プロセスを示し、Vue コンポーネントの使用方法を深く理解するのに役立ちます。
まず第一に、ニーズを明確にする必要があります。これは、入力ボックス、複数選択ボックス、日付選択、範囲選択などの単純なフィルター操作をフロントエンドで実行できるデータ フィルター コンポーネントを開発することです。など、さまざまなシナリオのニーズを満たすデータ フィルタリング要件。
要件に従って、コンポーネントを次の部分に分割できます:
- 入力ボックスのフィルタリング
コードは次のとおりです:
<template> <div class="input-filter"> <input type="text" v-model="value" placeholder="请输入关键词" @input="changeInput"> <button @click="search">搜索</button> </div> </template> <script> export default { data() { return { value: "" }; }, methods: { changeInput(event) { this.value = event.target.value; }, search() { this.$emit("search", this.value); } } }; </script> <style scoped> .input-filter { display: flex; margin-bottom: 10px; align-items: center; justify-content: center; } .input-filter input { margin-right: 10px; padding: 5px; border-radius: 4px; border: 1px solid #ccc; font-size: 14px; } .input-filter button { padding: 5px 10px; border-radius: 4px; background-color: #1989fa; color: #fff; border: none; font-size: 14px; } </style>
このコンポーネントには入力ボックスと検索ボタンが含まれています。ユーザーは入力ボックスにキーワードを入力します。検索ボタンをクリックすると、search
イベントがトリガーされ、検索キーワードが に渡されます。親コンポーネント。
- 複数選択ボックスのフィルタリング
コードは次のとおりです。
<template> <div class="checkbox-filter"> <div class="title">{{ title }}</div> <el-checkbox-group v-model="checkedList" @change="handleChange"> <el-checkbox v-for="item in options" :label="item.value" :key="item.value">{{ item.label }}</el-checkbox> </el-checkbox-group> </div> </template> <script> export default { props: { title: { type: String, default: "" }, options: { type: Array, default: () => [] } }, data() { return { checkedList: [] }; }, methods: { handleChange(checkedList) { this.$emit("change", checkedList); } } }; </script> <style scoped> .checkbox-filter { margin-bottom: 10px; } .checkbox-filter .title { font-size: 16px; font-weight: bold; margin-bottom: 5px; } </style>
このコンポーネントには、複数選択ボックスとタイトルが含まれています。複数選択ボックスでユーザーが選択 フィルタリングする必要があるオプションを選択すると、change
イベントがトリガーされ、選択されたオプションが親コンポーネントに渡されます。
- 日付選択フィルター
コードは次のとおりです:
<template> <div class="date-filter"> <el-row :gutter="10"> <el-col :span="12"> <el-date-picker v-model="start" type="date" placeholder="开始日期" @change="handleChange" /> </el-col> <el-col :span="12"> <el-date-picker v-model="end" type="date" placeholder="结束日期" @change="handleChange" /> </el-col> </el-row> </div> </template> <script> export default { data() { return { start: "", end: "" }; }, methods: { handleChange() { this.$emit("change", { start: this.start, end: this.end }); } } }; </script> <style scoped> .date-filter { margin-bottom: 10px; } </style>
このコンポーネントには 2 つの日付ピッカーが含まれており、ユーザーは開始日と終了日を選択できます。 date、選択後、change
イベントがトリガーされ、選択された日付範囲が親コンポーネントに渡されます。
- 範囲選択フィルタリング
コードは次のとおりです:
<template> <div class="range-filter"> <el-row :gutter="10"> <el-col :span="12"> <el-input-number v-model.number="min" controls-position="right" :min="0" :step="1" @change="handleChange" /> </el-col> <el-col :span="12"> <el-input-number v-model.number="max" controls-position="right" :min="0" :step="1" @change="handleChange" /> </el-col> </el-row> </div> </template> <script> export default { data() { return { min: 0, max: 0 }; }, methods: { handleChange() { this.$emit("change", { min: this.min, max: this.max }); } } }; </script> <style scoped> .range-filter { margin-bottom: 10px; } </style>
このコンポーネントには 2 つの数値入力ボックスが含まれており、ユーザーは数値範囲を選択できます。選択すると、change
イベントがトリガーされ、選択された範囲が親コンポーネントに渡されます。
上記の 4 つのコンポーネントを組み合わせて使用すると、多次元のデータ フィルタリングを実現できます。親コンポーネントでは、これらのサブコンポーネントを組み合わせて、完全なデータ フィルタリング機能を完成させることができます。
コードは次のとおりです:
<template> <div class="filter-container"> <input-filter @search="onSearch" /> <checkbox-filter :title="title1" :options="options1" @change="onChange1" /> <date-filter @change="onChange2" /> <range-filter @change="onChange3" /> </div> </template> <script> import InputFilter from "./InputFilter.vue"; import CheckboxFilter from "./CheckboxFilter.vue"; import DateFilter from "./DateFilter.vue"; import RangeFilter from "./RangeFilter.vue"; export default { components: { InputFilter, CheckboxFilter, DateFilter, RangeFilter }, data() { return { title1: "多选框筛选", options1: [ { label: "选项1", value: 1 }, { label: "选项2", value: 2 }, { label: "选项3", value: 3 } ] }; }, methods: { onSearch(value) { console.log("搜索关键词:", value); }, onChange1(value) { console.log("多选框选中的值:", value); }, onChange2(value) { console.log("日期选择范围:", value); }, onChange3(value) { console.log("范围选择范围:", value); } } }; </script> <style scoped> .filter-container { margin: 20px; } </style>
ここではフィルタリング コンポーネントの簡単な例をいくつか示します。実際のニーズに応じてこれらを組み合わせたり拡張したりして、データ フィルタリング機能を強化できます。
概要
この記事では、Vue コンポーネントの実際の戦闘、つまりデータ フィルタリング コンポーネントの開発について詳しく紹介し、読者が Vue コンポーネントの使用法をよりよく理解できるように複数の具体的なコード例を提供します。日々の開発でデータ フィルタリングの必要性が生じた場合は、上記のコンポーネントを通じてデータ フィルタリングを実装することで、開発効率とユーザー エクスペリエンスを向上させることができます。
以上がVue コンポーネントの実践: データ フィルタリング コンポーネントの開発の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

Vue.jsは使いやすく、スムーズな学習曲線があり、初心者に適しています。 Reactは急な学習曲線を持っていますが、柔軟性が強いため、経験豊富な開発者に適しています。 1.Vue.jsは、単純なデータバインディングとプログレッシブデザインを介して簡単に始められます。 2.反応には、仮想DOMとJSXを理解する必要がありますが、より高い柔軟性とパフォーマンスの利点を提供します。

Vue.JSは、高速開発や小規模プロジェクトに適していますが、Reactは大規模で複雑なプロジェクトにより適しています。 1.Vue.jsは簡単で学習しやすく、迅速な開発や小規模プロジェクトに適しています。 2.反応は強力で、大規模で複雑なプロジェクトに適しています。 3. Vue.jsの進歩的な特徴は、徐々に機能を導入するのに適しています。 4。複雑なUIおよびデータ集約型アプリケーションを扱うとき、Reactのコンポーネントと仮想DOMはうまく機能します。

Vue.jsとReactには、それぞれ独自の利点と短所があります。選択するときは、チームのスキル、プロジェクトの規模、パフォーマンス要件を包括的に検討する必要があります。 1)VUE.JSは、学習曲線が低い高速開発や小規模プロジェクトに適していますが、ネストされたオブジェクトはパフォーマンスの問題を引き起こす可能性があります。 2)Reactは、豊富なエコシステムを備えた大規模で複雑なアプリケーションに適していますが、頻繁に更新するとパフォーマンスのボトルネックにつながる可能性があります。

VUE.JSは中小企業から中規模のプロジェクトに適していますが、Reactは大規模なプロジェクトや複雑なアプリケーションシナリオに適しています。 1)Vue.jsは使いやすく、迅速なプロトタイピングや小規模アプリケーションに適しています。 2)Reactは、複雑な州の管理とパフォーマンスの最適化を処理する上でより多くの利点があり、大規模なプロジェクトに適しています。

Vue.jsとReactにはそれぞれ独自の利点があります。Vue.jsは小さなアプリケーションと迅速な発展に適していますが、Reactは大規模なアプリケーションと複雑な国家管理に適しています。 1.Vue.jsは、小さなアプリケーションに適したレスポンシブシステムを通じて自動更新を実現します。 2.反応は、大規模で複雑なアプリケーションに適した仮想DOMおよびDIFFアルゴリズムを使用します。フレームワークを選択するときは、プロジェクトの要件とチームテクノロジースタックを検討する必要があります。

Vue.jsとReactにはそれぞれ独自の利点があり、選択はプロジェクトの要件とチームテクノロジースタックに基づいている必要があります。 1。Vue.jsはコミュニティに優しいものであり、豊富な学習リソースを提供しており、エコシステムには公式チームとコミュニティによってサポートされているVuerouterなどの公式ツールが含まれています。 2. Reactコミュニティは、強力なエコシステムを備えたエンタープライズアプリケーションに偏っており、Facebookとそのコミュニティが提供するサポートを頻繁に更新しています。

NetflixはReactを使用してユーザーエクスペリエンスを強化します。 1)Reactのコンポーネント機能は、Netflixが複雑なUIを管理可能なモジュールに分割するのに役立ちます。 2)Virtual DomはUIの更新を最適化し、パフォーマンスを向上させます。 3)ReduxとGraphQLを組み合わせて、Netflixはアプリケーションのステータスとデータフローを効率的に管理します。

Vue.jsはフロントエンドフレームワークであり、バックエンドフレームワークはサーバー側のロジックを処理するために使用されます。 1)VUE.JSは、ユーザーインターフェイスの構築に焦点を当て、コンポーネントおよびレスポンシブデータバインディングを介して開発を簡素化します。 2)ExpressやDjangoなどのバックエンドフレームワークは、HTTPリクエスト、データベース操作、ビジネスロジックを処理し、サーバーで実行します。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

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

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

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

Dreamweaver Mac版
ビジュアル Web 開発ツール

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

ホットトピック









