Rumah > Artikel > hujung hadapan web > Cara menggunakan Vue dan Element-UI untuk melaksanakan fungsi lanjutan hamparan
Cara menggunakan Vue dan Element-UI untuk melaksanakan fungsi lanjutan hamparan
Pengenalan:
Dalam pembangunan web moden, hamparan ialah komponen paparan data biasa Ia boleh memaparkan dengan jelas jumlah data dalam bentuk jadual, dan menyediakan pengisihan , Penapisan, halaman dan fungsi lain. Vue ialah rangka kerja JavaScript popular yang menyediakan pengikatan data dan pembangunan komponen yang fleksibel dan mudah. Element-UI ialah perpustakaan komponen berdasarkan Vue yang menyediakan set komponen UI yang kaya, termasuk komponen jadual yang berkuasa. Artikel ini akan memperkenalkan cara menggunakan Vue dan Element-UI untuk melaksanakan fungsi lanjutan hamparan, termasuk pengisihan, penapisan, halaman dan pengeditan.
1. Persediaan
Pertama, pastikan Vue dan Element-UI telah dipasang. Ia boleh dipasang melalui npm:
npm install vue npm install element-ui
Kemudian, buat contoh Vue dan perkenalkan komponen jadual dan halaman Element-UI ke dalamnya:
<template> <div> <el-table :data="tableData" :default-sort="{ prop: 'date', order: 'descending' }" :sort-method="sortMethod" :filter-method="filterMethod" :row-class-name="rowClassName" @sort-change="onSortChange" > <!-- 表格列 --> <el-table-column label="日期" prop="date" sortable width="180" ></el-table-column> <el-table-column label="姓名" prop="name" sortable width="180" ></el-table-column> <el-table-column label="年龄" prop="age" sortable width="120" ></el-table-column> <el-table-column label="地址" prop="address" sortable ></el-table-column> </el-table> <el-pagination :current-page="currentPage" :page-size="pageSize" :total="total" @current-change="onCurrentChange" ></el-pagination> </div> </template> <script> export default { data() { return { tableData: [], currentPage: 1, pageSize: 10, total: 100, }; }, methods: { // 排序方法 sortMethod(sort) { // TODO: 对表格数据进行排序 }, // 筛选方法 filterMethod(value, row, column) { // TODO: 对表格数据进行筛选 }, // 行样式类名方法 rowClassName(row, index) { // TODO: 自定义行样式类名 }, // 排序改变事件处理方法 onSortChange({ prop, order }) { // TODO: 更新排序规则,并重新加载表格数据 }, // 当前页改变事件处理方法 onCurrentChange(page) { // TODO: 更新当前页,并重新加载表格数据 }, }, }; </script>
2. Laksanakan fungsi lanjutan
sortable
pada lajur jadual, kemas kini peraturan pengisihan dalam kaedah pengendalian acara perubahan isihan dan muat semula data jadual. Data jadual boleh diisih menggunakan kaedah Array.prototype.sort()
. sortable
属性,并在排序改变事件处理方法中更新排序规则,并重新加载表格数据。可以使用 Array.prototype.sort()
方法对表格数据进行排序。sortMethod(sort) { const { prop, order } = sort; this.tableData.sort((a, b) => { const aValue = a[prop]; const bValue = b[prop]; if (order === 'ascending') { return aValue >= bValue ? 1 : -1; } else { return aValue <= bValue ? 1 : -1; } }); },
filterable
属性,并在筛选方法中对表格数据进行筛选。可以使用 Array.prototype.filter()
方法对表格数据进行筛选。filterMethod(value, row, column) { const prop = column.property; return row[prop].indexOf(value) !== -1; },
onCurrentChange(page) { this.currentPage = page; // TODO: 根据当前页和每页大小重新加载表格数据 },
el-dialog
和 el-form
<!-- 表格列 --> <el-table-column label="操作"> <template slot-scope="{ row }"> <el-button type="primary" @click="editRow(row)">编辑</el-button> </template> </el-table-column> <!-- 对话框 --> <el-dialog :visible.sync="editDialogVisible"> <el-form :model="editForm" label-width="80px"> <el-form-item label="日期"> <el-input v-model="editForm.date"></el-input> </el-form-item> <el-form-item label="姓名"> <el-input v-model="editForm.name"></el-input> </el-form-item> <el-form-item label="年龄"> <el-input v-model="editForm.age"></el-input> </el-form-item> <el-form-item label="地址"> <el-input v-model="editForm.address"></el-input> </el-form-item> <el-form-item> <el-button type="primary" @click="saveEditForm">保存</el-button> </el-form-item> </el-form> </el-dialog> <script> export default { data() { return { tableData: [], editDialogVisible: false, editForm: { date: '', name: '', age: '', address: '', }, }; }, methods: { editRow(row) { this.editForm = { ...row }; this.editDialogVisible = true; }, saveEditForm() { // TODO: 保存编辑后的数据,并重新加载表格数据 this.editDialogVisible = false; }, }, }; </script>
Untuk melaksanakan fungsi penapisan, anda perlu menetapkan atribut filterable
pada lajur jadual dan menapis data jadual dalam kaedah penapisan. Data jadual boleh ditapis menggunakan kaedah Array.prototype.filter()
.
Paging
Untuk melaksanakan fungsi paging, anda boleh menggunakan komponen paging yang disediakan oleh Element-UI. Kemas kini halaman semasa dalam kaedah pengendalian peristiwa perubahan halaman semasa dan muat semula data jadual.
el-dialog
dan el-form
. 🎜🎜rrreee🎜Kesimpulan: 🎜Melalui langkah di atas, kami berjaya melaksanakan fungsi lanjutan hamparan menggunakan Vue dan Element-UI. Kami melaksanakan fungsi pengisihan, penapisan, halaman dan penyuntingan dan memberikan contoh kod yang sepadan. Fungsi ini boleh meningkatkan kecekapan menyemak imbas dan menyunting data jadual pengguna, membolehkan pengguna mendapatkan maklumat yang diperlukan dengan lebih mudah. 🎜🎜Ringkasan: 🎜Vue dan Element-UI bergabung untuk menyediakan cara ringkas dan cekap untuk melaksanakan fungsi lanjutan hamparan. Pembangun boleh menggunakan fungsi ini secara fleksibel mengikut keperluan perniagaan untuk mencipta pengalaman pengguna yang lebih baik untuk pengguna. Melalui contoh ini, saya berharap pembaca akan mempunyai pemahaman yang lebih mendalam tentang penggunaan Vue dan Element-UI, dan lebih berupaya untuk membangunkan ciri termaju hamparan. 🎜Atas ialah kandungan terperinci Cara menggunakan Vue dan Element-UI untuk melaksanakan fungsi lanjutan hamparan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!