


Pratique des composants Vue : développement de composants de filtrage de données
Pratique des composants Vue : développement de composants de filtrage de données
Dans le développement de Vue, le filtrage des données est l'une des fonctions couramment utilisées. Cet article vous amènera à en apprendre davantage sur l'utilisation réelle des composants Vue : le développement de composants de filtrage de données, à démontrer son processus de mise en œuvre à travers des exemples de code spécifiques et à vous aider à comprendre en profondeur l'utilisation des composants Vue.
Tout d'abord, nous devons clarifier nos besoins, qui sont de développer un composant de filtrage de données capable d'effectuer des opérations de filtrage simples sur le front-end, y compris les zones de saisie, les zones de sélection multiple, la sélection de date, la sélection de plage, etc., pour répondre aux besoins de filtrage des données dans différents scénarios.
Selon les besoins, nous pouvons diviser le composant en parties suivantes :
- Filtrage de la zone de saisie
Le code est le suivant :
<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>
Ce composant contient une zone de saisie et un bouton de recherche, et l'utilisateur saisit des mots-clés dans dans la zone de saisie, après avoir cliqué sur le bouton de recherche, l'événement search
sera déclenché et les mots-clés de recherche seront transmis au composant parent. 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>
该组件包含两个日期选择器,用户可以选择起始日期和结束日期,选中后将触发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>
该组件包含两个数字输入框,用户可以选择数值范围,选中后将触发change
- Filtrage de zones à sélection multiple
Le code est le suivant :
<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>
Ce composant contient une zone à sélection multiple et un titre une fois que l'utilisateur a sélectionné l'option qui doit être filtrée. dans la zone de sélection multiple, il déclenchera l'événement change et transmettra l'option sélectionnée au composant parent.
Filtre de sélection de date
Le code est le suivant : 🎜rrreee🎜Ce composant contient deux sélecteurs de date L'utilisateur peut sélectionner la date de début et la date de fin. Une fois sélectionné,. change et transmettra la plage de dates sélectionnée au composant parent. 🎜<ol start="4">🎜Filtre de sélection de plage🎜🎜🎜Le code est le suivant : 🎜rrreee🎜Ce composant contient deux zones de saisie numérique L'utilisateur peut sélectionner une plage numérique. Une fois sélectionné, le <code>change<. l> sera déclenché et transmettra la plage sélectionnée au composant parent. 🎜🎜Les quatre composants ci-dessus peuvent être utilisés en combinaison pour réaliser un filtrage de données multidimensionnel. Dans le composant parent, nous pouvons combiner ces sous-composants pour compléter la fonction complète de filtrage des données. 🎜🎜Le code est le suivant : 🎜rrreee🎜Voici quelques exemples simples de composants de filtrage. Vous pouvez les combiner et les étendre en fonction des besoins réels pour enrichir vos capacités de filtrage de données. 🎜🎜Résumé🎜🎜Cet article présente en détail l'utilisation pratique des composants Vue : le développement de composants de filtrage de données, et fournit plusieurs exemples de code spécifiques pour permettre aux lecteurs de mieux comprendre l'utilisation des composants Vue. Dans le développement quotidien, si vous rencontrez le besoin de filtrer les données, vous pouvez le mettre en œuvre via les composants ci-dessus pour améliorer l'efficacité du développement et l'expérience utilisateur. 🎜</.>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Vous pouvez ajouter une fonction au bouton VUE en liant le bouton dans le modèle HTML à une méthode. Définissez la logique de la fonction de méthode et d'écriture dans l'instance Vue.

L'utilisation de bootstrap dans vue.js est divisée en cinq étapes: installer bootstrap. Importer un bootstrap dans main.js. Utilisez le composant bootstrap directement dans le modèle. Facultatif: style personnalisé. Facultatif: utilisez des plug-ins.

Il existe trois façons de se référer aux fichiers JS dans Vue.js: spécifiez directement le chemin à l'aide du & lt; script & gt; étiqueter;; importation dynamique à l'aide du crochet de cycle de vie monté (); et l'importation via la bibliothèque de gestion de l'État Vuex.

L'option Watch dans Vue.js permet aux développeurs d'écouter des modifications de données spécifiques. Lorsque les données changent, regardez déclenche une fonction de rappel pour effectuer des vues de mise à jour ou d'autres tâches. Ses options de configuration incluent immédiatement, qui spécifie s'il faut exécuter un rappel immédiatement, et profond, ce qui spécifie s'il faut écouter récursivement les modifications des objets ou des tableaux.

Vue.js dispose de quatre méthodes pour revenir à la page précédente: $ router.go (-1) $ router.back () utilise & lt; router-link to = & quot; / & quot; Composant Window.History.back (), et la sélection de la méthode dépend de la scène.

Le développement multi-pages VUE est un moyen de créer des applications à l'aide du cadre Vue.js, où l'application est divisée en pages distinctes: Maintenance du code: La division de l'application en plusieurs pages peut rendre le code plus facile à gérer et à maintenir. Modularité: chaque page peut être utilisée comme module séparé pour une réutilisation et un remplacement faciles. Routage simple: la navigation entre les pages peut être gérée par une configuration de routage simple. Optimisation du référencement: chaque page a sa propre URL, ce qui aide le référencement.

Il existe deux façons de sauter des éléments div dans Vue: Utilisez le routeur Vue et ajoutez le composant routeur-link. Ajoutez l'écouteur de l'événement @Click et appelez ceci. $ Router.push () pour sauter.

La boucle Foreach dans Vue.js utilise la directive V-FOR, qui permet aux développeurs d'itérer à travers chaque élément dans un tableau ou un objet et effectuer des opérations spécifiques sur chaque élément. La syntaxe est la suivante: & lt; modèle & gt; & lt; ul & gt; & lt; li v-for = & quot; item in items & gt; & gt; {{item}} & lt; / li & gt; & lt; / ul & gt; & lt; / template & gt; & am
