Rumah hujung hadapan web View.js Amalan komponen Vue: pembangunan komponen penapisan data

Amalan komponen Vue: pembangunan komponen penapisan data

Nov 24, 2023 am 08:56 AM
vue komponen Penapisan data

Amalan komponen Vue: pembangunan komponen penapisan data

Amalan komponen Vue: pembangunan komponen penapisan data

Dalam pembangunan Vue, penapisan data ialah salah satu fungsi yang biasa digunakan. Artikel ini akan membawa anda mengetahui lebih lanjut tentang penggunaan sebenar komponen Vue: pembangunan komponen penapisan data, menunjukkan proses pelaksanaannya melalui contoh kod khusus dan membantu anda memahami dengan mendalam penggunaan komponen Vue.

Pertama sekali, kami perlu menjelaskan keperluan kami, iaitu membangunkan komponen penapisan data yang boleh melakukan operasi penapisan mudah di bahagian hadapan, termasuk kotak input, kotak berbilang pilihan, pemilihan tarikh, pemilihan julat, dll., untuk memenuhi keperluan penapisan data dalam senario yang berbeza.

Mengikut keperluan, kita boleh membahagikan komponen kepada bahagian berikut:

  1. Penapisan kotak input

Kod adalah seperti berikut:

<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>
Salin selepas log masuk

Komponen ini mengandungi kotak input dan butang carian, dan pengguna memasukkan kata kunci dalam kotak input , selepas mengklik butang carian, acara search akan dicetuskan dan kata kunci carian akan dihantar kepada komponen induk. search事件,并传递搜索关键词给父组件。

  1. 多选框筛选

代码如下:

<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>
Salin selepas log masuk

该组件包含一个多选框和一个标题,用户在多选框中选择需要筛选的选项后,将触发change事件,并传递选中的选项给父组件。

  1. 日期选择筛选

代码如下:

<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>
Salin selepas log masuk

该组件包含两个日期选择器,用户可以选择起始日期和结束日期,选中后将触发change事件,并将选中的日期范围传递给父组件。

  1. 范围选择筛选

代码如下:

<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>
Salin selepas log masuk

该组件包含两个数字输入框,用户可以选择数值范围,选中后将触发change

    Penapisan kotak berbilang pilihan

    Kodnya adalah seperti berikut:

    <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>
    Salin selepas log masuk

    Komponen ini mengandungi kotak berbilang pilihan dan tajuk selepas pengguna memilih pilihan yang perlu ditapis dalam kotak berbilang pilihan, ia akan mencetuskan acara change dan menghantar pilihan yang dipilih kepada komponen induk.

      Penapis pemilihan tarikh

      Kodnya adalah seperti berikut: 🎜rrreee🎜Komponen ini mengandungi dua pemilih tarikh Pengguna boleh memilih tarikh mula dan tarikh tamat apabila dipilih, change dan hantar julat tarikh yang dipilih kepada komponen induk. 🎜
        🎜Range Selection Filter 🎜🎜🎜 Kod adalah seperti berikut: 🎜rrreeee🎜 komponen ini mengandungi dua kotak input angka. /code> acara akan dicetuskan dan menghantar julat yang dipilih kepada komponen induk. 🎜🎜Empat komponen di atas boleh digunakan secara gabungan untuk mencapai saringan data berbilang dimensi. Dalam komponen induk, kita boleh menggabungkan sub-komponen ini untuk melengkapkan fungsi penapisan data yang lengkap. 🎜🎜Kodnya adalah seperti berikut: 🎜rrreee🎜Ini hanyalah beberapa contoh ringkas komponen penapisan Anda boleh menggabungkan dan mengembangkannya mengikut keperluan sebenar untuk memperkayakan keupayaan penapisan data anda. 🎜🎜Ringkasan🎜🎜Artikel ini memperkenalkan secara terperinci penggunaan praktikal komponen Vue: pembangunan komponen penapisan data, dan menyediakan berbilang contoh kod khusus untuk membolehkan pembaca memahami dengan lebih baik cara menggunakan komponen Vue. Dalam pembangunan harian, jika anda menghadapi keperluan untuk penyaringan data, anda boleh melaksanakannya melalui komponen di atas untuk meningkatkan kecekapan pembangunan dan pengalaman pengguna. 🎜

    Atas ialah kandungan terperinci Amalan komponen Vue: pembangunan komponen penapisan data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara Menggunakan Watch di Vue Cara Menggunakan Watch di Vue Apr 07, 2025 pm 11:36 PM

Pilihan Watch di Vue.js membolehkan pemaju mendengar perubahan dalam data tertentu. Apabila data berubah, tontonkan mencetuskan fungsi panggil balik untuk melakukan paparan kemas kini atau tugas lain. Pilihan konfigurasinya termasuk segera, yang menentukan sama ada untuk melaksanakan panggilan balik dengan serta -merta, dan mendalam, yang menentukan sama ada untuk mendengarkan secara rekursif terhadap objek atau tatasusunan.

Cara merujuk fail js dengan vue.js Cara merujuk fail js dengan vue.js Apr 07, 2025 pm 11:27 PM

Terdapat tiga cara untuk merujuk kepada fail JS dalam vue.js: Secara langsung tentukan jalan menggunakan & lt; skrip & gt; tag ;; import dinamik menggunakan cangkuk kitaran hayat yang dipasang (); dan mengimport melalui Perpustakaan Pengurusan Negeri VUEX.

Cara menggunakan bootstrap di vue Cara menggunakan bootstrap di vue Apr 07, 2025 pm 11:33 PM

Menggunakan bootstrap dalam vue.js dibahagikan kepada lima langkah: Pasang bootstrap. Import bootstrap di main.js. Gunakan komponen bootstrap secara langsung dalam templat. Pilihan: Gaya tersuai. Pilihan: Gunakan pemalam.

Cara menambah fungsi ke butang untuk vue Cara menambah fungsi ke butang untuk vue Apr 08, 2025 am 08:51 AM

Anda boleh menambah fungsi ke butang VUE dengan mengikat butang dalam templat HTML ke kaedah. Tentukan kaedah dan tulis logik fungsi dalam contoh Vue.

Vue menyedari kesan menatal marquee/teks Vue menyedari kesan menatal marquee/teks Apr 07, 2025 pm 10:51 PM

Melaksanakan kesan menatal marquee/teks di VUE, menggunakan animasi CSS atau perpustakaan pihak ketiga. Artikel ini memperkenalkan cara menggunakan animasi CSS: Buat teks tatal dan bungkus teks dengan & lt; div & gt;. Tentukan animasi CSS dan tetapkan limpahan: tersembunyi, lebar, dan animasi. Tentukan frasa key, set Transform: TranslateX () pada permulaan dan akhir animasi. Laraskan sifat animasi seperti tempoh, kelajuan tatal, dan arah.

Apa maksudnya untuk memuatkan vue malas? Apa maksudnya untuk memuatkan vue malas? Apr 07, 2025 pm 11:54 PM

Dalam vue.js, pemuatan malas membolehkan komponen atau sumber dimuatkan secara dinamik seperti yang diperlukan, mengurangkan masa pemuatan halaman awal dan meningkatkan prestasi. Kaedah pelaksanaan khusus termasuk menggunakan & lt; menyimpan-Alive & gt; dan & lt; komponen adalah & gt; komponen. Harus diingat bahawa pemuatan malas boleh menyebabkan masalah fouc (skrin percikan) dan harus digunakan hanya untuk komponen yang memerlukan pemuatan malas untuk mengelakkan overhead prestasi yang tidak perlu.

Cara kembali ke halaman sebelumnya oleh Vue Cara kembali ke halaman sebelumnya oleh Vue Apr 07, 2025 pm 11:30 PM

Vue.js mempunyai empat kaedah untuk kembali ke halaman sebelumnya: $ router.go (-1) $ router.back () menggunakan & lt; router-link to = & quot;/& quot; Komponen Window.History.Back (), dan pemilihan kaedah bergantung pada tempat kejadian.

Cara Menanyakan Versi Vue Cara Menanyakan Versi Vue Apr 07, 2025 pm 11:24 PM

Anda boleh menanyakan versi VUE dengan menggunakan Vue Devtools untuk melihat tab VUE dalam konsol penyemak imbas. Gunakan NPM untuk menjalankan arahan "NPM LIST -G VUE". Cari item VUE dalam objek "Dependencies" fail Package.json. Untuk projek Vue CLI, jalankan perintah "Vue -version". Semak maklumat versi di & lt; skrip & gt; Tag dalam fail HTML yang merujuk kepada fail VUE.

See all articles