当前位置:首页 > VUE

vue实现表格读取数据

2026-02-25 18:48:20VUE

使用 Vue 实现表格数据读取

基础表格数据绑定

通过 v-for 指令遍历数组数据,动态生成表格行。数据通常存储在组件的 data 属性中。

<template>
  <table>
    <thead>
      <tr>
        <th>ID</th>
        <th>Name</th>
        <th>Age</th>
      </tr>
    </thead>
    <tbody>
      <tr v-for="item in tableData" :key="item.id">
        <td>{{ item.id }}</td>
        <td>{{ item.name }}</td>
        <td>{{ item.age }}</td>
      </tr>
    </tbody>
  </table>
</template>

<script>
export default {
  data() {
    return {
      tableData: [
        { id: 1, name: 'Alice', age: 25 },
        { id: 2, name: 'Bob', age: 30 }
      ]
    }
  }
}
</script>

从 API 异步加载数据

使用 axiosfetch 从后端接口获取数据,更新表格内容。

vue实现表格读取数据

<script>
import axios from 'axios';

export default {
  data() {
    return {
      tableData: []
    }
  },
  mounted() {
    this.fetchData();
  },
  methods: {
    fetchData() {
      axios.get('/api/users')
        .then(response => {
          this.tableData = response.data;
        })
        .catch(error => {
          console.error('Error fetching data:', error);
        });
    }
  }
}
</script>

使用计算属性处理数据

对表格数据进行过滤或排序时,推荐使用计算属性避免直接修改原始数据。

vue实现表格读取数据

computed: {
  sortedData() {
    return [...this.tableData].sort((a, b) => a.age - b.age);
  }
}

添加分页功能

通过 v-model 绑定分页参数,切片显示数据。

<template>
  <div>
    <table>...</table>
    <div class="pagination">
      <button @click="currentPage--" :disabled="currentPage === 1">Previous</button>
      <span>Page {{ currentPage }} of {{ totalPages }}</span>
      <button @click="currentPage++" :disabled="currentPage === totalPages">Next</button>
    </div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      currentPage: 1,
      pageSize: 10,
      allData: [] 
    }
  },
  computed: {
    paginatedData() {
      const start = (this.currentPage - 1) * this.pageSize;
      return this.allData.slice(start, start + this.pageSize);
    },
    totalPages() {
      return Math.ceil(this.allData.length / this.pageSize);
    }
  }
}
</script>

使用第三方表格组件

对于复杂需求,可集成现成组件库如 Element UIVuetify

<template>
  <el-table :data="tableData" style="width: 100%">
    <el-table-column prop="id" label="ID" width="180"></el-table-column>
    <el-table-column prop="name" label="Name"></el-table-column>
  </el-table>
</template>

标签: 表格数据
分享给朋友:

相关文章

表格tb制作css

表格tb制作css

使用CSS美化HTML表格 通过CSS可以自定义表格样式,使其更美观和符合设计需求。以下是一些常用方法: 基础表格样式 table { width: 100%; border-coll…

制作css表格

制作css表格

基础CSS表格结构 使用HTML的<table>标签创建表格骨架,搭配CSS控制样式。以下是一个基础示例: <table class="styled-table"> &…

vue实现简单表格

vue实现简单表格

使用 Vue 实现简单表格 Vue 提供了多种方式实现表格功能,以下是基于 Vue 3 的两种常见方法: 基础表格实现 通过 v-for 指令循环渲染表格数据: <template>…

vue实现表格追加

vue实现表格追加

实现表格数据追加的方法 在Vue中实现表格数据追加可以通过多种方式完成,主要涉及数据绑定和数组操作。以下是几种常见的方法: 数据绑定与v-for指令 通过v-for指令渲染表格数据,利用数组的co…

vue动态表格实现

vue动态表格实现

Vue动态表格实现方法 使用v-for指令渲染动态数据 通过v-for指令可以循环遍历数组数据生成表格行,数据变化时表格自动更新。示例代码: <template> <tabl…

vue实现数据修改

vue实现数据修改

Vue 数据修改方法 在 Vue 中修改数据通常通过以下几种方式实现,具体取决于数据的状态(如本地数据、Vuex 状态管理或组件间通信)。 修改本地组件数据 直接修改组件内的 data 属性。Vue…