Rumah > hujung hadapan web > View.js > teks badan

Cara mengendalikan pengisihan dan penapisan data jadual dalam pembangunan teknologi Vue

王林
Lepaskan: 2023-10-08 11:53:09
asal
988 orang telah melayarinya

Cara mengendalikan pengisihan dan penapisan data jadual dalam pembangunan teknologi Vue

Cara mengendalikan pengisihan dan penapisan data jadual dalam pembangunan teknologi Vue

Dalam pembangunan bahagian hadapan, jadual sering digunakan untuk memaparkan data. Mengisih dan menapis data jadual adalah keperluan yang sangat biasa. Sebagai rangka kerja bahagian hadapan yang popular, Vue menyediakan penyelesaian yang kaya untuk mengendalikan pengisihan dan penapisan data jadual.

Artikel ini akan memperkenalkan cara menggunakan Vue untuk mengendalikan pengisihan dan penapisan data jadual, dan memberikan contoh kod yang sepadan.

  1. Isih data jadual

Dalam Vue, pengisihan data jadual boleh dicapai dengan menggunakan atribut yang dikira. Pertama, kita perlu menentukan tatasusunan dalam data Vue untuk menyimpan data jadual. Katakan data jadual kita adalah seperti berikut:

data() {
  return {
    tableData: [
      { name: '张三', age: 20, gender: '男' },
      { name: '李四', age: 25, gender: '女' },
      { name: '王五', age: 22, gender: '男' },
      // ...
    ],
    sortKey: '',  // 用来记录排序的列名
    sortOrder: 1  // 用来记录排序的顺序,1表示升序,-1表示降序
  }
}
Salin selepas log masuk

Seterusnya, kita boleh menggunakan atribut yang dikira untuk mengisih data jadual. Katakan kita ingin mengisih mengikut umur, kita boleh melaksanakannya seperti ini:

computed: {
  sortedTableData() {
    return this.tableData.sort((a, b) => {
      return (a.age - b.age) * this.sortOrder;
    });
  }
}
Salin selepas log masuk

Apabila menggunakan data yang diisih dalam jadual, hanya gunakan sortedTableData dan bukannya tableData:

<table>
  <tr>
    <th @click="sort('name')">姓名</th>
    <th @click="sort('age')">年龄</th>
    <th @click="sort('gender')">性别</th>
  </tr>
  <tr v-for="item in sortedTableData" :key="item.name">
    <td>{{ item.name }}</td>
    <td>{{ item.age }}</td>
    <td>{{ item.gender }}</td>
  </tr>
</table>
Salin selepas log masuk

Dalam kod di atas, kami mencetuskan isihan dengan mengklik pada tag ke. Kaedah, melaksanakan fungsi pengisihan mengikut lajur yang berbeza. Pelaksanaan kaedah isihan adalah seperti berikut:

methods: {
  sort(key) {
    if (key === this.sortKey) {  // 如果点击的是同一列
      this.sortOrder *= -1;  // 切换排序顺序
    } else {
      this.sortKey = key;  // 记录当前排序的列
      this.sortOrder = 1;  // 默认升序排序
    }
  }
}
Salin selepas log masuk
  1. Penapisan data jadual

Dalam Vue, penapisan data jadual boleh dicapai dengan menggunakan atribut yang dikira dan arahan model-v. Andaikan bahawa jadual kami mempunyai kotak teks untuk memasukkan keadaan penapis, yang boleh dilaksanakan seperti ini:

Mula-mula, tentukan pembolehubah dalam data Vue untuk menyimpan keadaan penapis:

data() {
  return {
    tableData: [
      // 表格数据
    ],
    filterValue: ''  // 过滤条件
  }
}
Salin selepas log masuk

Seterusnya, tentukan FilteredTableData dalam Kaedah atribut yang dikira, digunakan untuk menapis data jadual berdasarkan keadaan penapis:

computed: {
  filteredTableData() {
    return this.tableData.filter(item => {
      return item.name.includes(this.filterValue) || 
             item.age.toString().includes(this.filterValue) ||
             item.gender.includes(this.filterValue);
    });
  }
}
Salin selepas log masuk

Kemudian, gunakan filteredTableData dan bukannya tableData dalam jadual untuk memaparkan data yang ditapis:

<input v-model="filterValue" placeholder="请输入过滤条件">
<table>
  <tr>
    <th>姓名</th>
    <th>年龄</th>
    <th>性别</th>
  </tr>
  <tr v-for="item in filteredTableData" :key="item.name">
    <td>{{ item.name }}</td>
    <td>{{ item.age }}</td>
    <td>{{ item.gender }}</td>
  </tr>
</table>
Salin selepas log masuk

Dalam kod di atas, kami menggunakan arahan model v untuk menukar kotak input. nilai terikat pada pembolehubah nilai penapis untuk mencapai kesan penapisan masa nyata.

Ringkasnya, dengan menggunakan atribut pengiraan Vue dan arahan model v, kami boleh melaksanakan fungsi pengisihan dan penapisan data jadual dengan mudah. Di atas ialah pengenalan terperinci untuk menyusun dan menapis data jadual, dan menyediakan contoh kod yang sepadan. Saya harap ia akan membantu anda dalam memproses data jadual dalam pembangunan teknologi Vue.

Atas ialah kandungan terperinci Cara mengendalikan pengisihan dan penapisan data jadual dalam pembangunan teknologi Vue. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan