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

Cara menggunakan Vue dan Element-UI untuk melaksanakan fungsi lanjutan hamparan

WBOY
Lepaskan: 2023-07-21 19:45:21
asal
1158 orang telah melayarinya

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

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

2. Laksanakan fungsi lanjutan

  1. Isih
    Untuk melaksanakan pengisihan fungsi, anda perlu Tetapkan atribut 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;
    }
  });
},
Salin selepas log masuk
  1. 筛选
    为了实现筛选功能,需要在表格列上设置 filterable 属性,并在筛选方法中对表格数据进行筛选。可以使用 Array.prototype.filter() 方法对表格数据进行筛选。
filterMethod(value, row, column) {
  const prop = column.property;
  return row[prop].indexOf(value) !== -1;
},
Salin selepas log masuk
  1. 分页
    为了实现分页功能,可以使用 Element-UI 提供的分页组件。在当前页改变事件处理方法中更新当前页,并重新加载表格数据。
onCurrentChange(page) {
  this.currentPage = page;
  // TODO: 根据当前页和每页大小重新加载表格数据
},
Salin selepas log masuk
  1. 编辑
    如果需要实现编辑功能,可以在表格中的每一行添加一个“编辑”按钮,并在点击按钮时弹出一个对话框,让用户编辑当前行的数据。可以使用 el-dialogel-form
  2. <!-- 表格列 -->
    <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>
    Salin selepas log masuk
      Penapisan

      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().

      rrreee

        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.

        🎜rrreee
          🎜Edit🎜Jika anda perlu melaksanakan fungsi penyuntingan, anda boleh menambah butang "Edit" pada setiap baris dalam jadual, dan apabila butang itu diklik, kotak dialog akan muncul sehingga membenarkan pengguna mengedit data semasa. Dialog dan borang boleh dilaksanakan menggunakan komponen 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!

    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