当前位置:首页 > VUE

vue实现用户信息表

2026-02-09 18:31:13VUE

Vue 实现用户信息表

数据准备

在 Vue 组件的 datasetup 中定义用户信息数据。通常使用数组存储多个用户信息,每个用户是一个对象。

data() {
  return {
    users: [
      { id: 1, name: '张三', age: 25, email: 'zhangsan@example.com' },
      { id: 2, name: '李四', age: 30, email: 'lisi@example.com' }
    ]
  }
}

表格渲染

使用 v-for 指令循环渲染用户信息到表格中。表格结构包含表头和表体,表体通过 v-for 动态生成。

<table>
  <thead>
    <tr>
      <th>ID</th>
      <th>姓名</th>
      <th>年龄</th>
      <th>邮箱</th>
    </tr>
  </thead>
  <tbody>
    <tr v-for="user in users" :key="user.id">
      <td>{{ user.id }}</td>
      <td>{{ user.name }}</td>
      <td>{{ user.age }}</td>
      <td>{{ user.email }}</td>
    </tr>
  </tbody>
</table>

添加样式

为表格添加基础样式,提升可读性和美观性。可以使用内联样式或外部 CSS 文件。

table {
  width: 100%;
  border-collapse: collapse;
}
th, td {
  border: 1px solid #ddd;
  padding: 8px;
  text-align: left;
}
th {
  background-color: #f2f2f2;
}

动态操作

实现添加、删除或编辑用户信息的功能。通过方法更新 users 数组,Vue 会自动重新渲染表格。

methods: {
  addUser() {
    this.users.push({
      id: this.users.length + 1,
      name: '新用户',
      age: 0,
      email: 'new@example.com'
    });
  },
  deleteUser(id) {
    this.users = this.users.filter(user => user.id !== id);
  }
}

表单绑定

通过 v-model 实现表单与数据的双向绑定,方便用户输入新信息或编辑现有信息。

<input v-model="newUser.name" placeholder="姓名">
<input v-model="newUser.age" placeholder="年龄" type="number">
<input v-model="newUser.email" placeholder="邮箱">
<button @click="addUser">添加用户</button>

完整示例

结合上述内容,完整的 Vue 组件示例如下:

<template>
  <div>
    <table>
      <thead>
        <tr>
          <th>ID</th>
          <th>姓名</th>
          <th>年龄</th>
          <th>邮箱</th>
          <th>操作</th>
        </tr>
      </thead>
      <tbody>
        <tr v-for="user in users" :key="user.id">
          <td>{{ user.id }}</td>
          <td>{{ user.name }}</td>
          <td>{{ user.age }}</td>
          <td>{{ user.email }}</td>
          <td><button @click="deleteUser(user.id)">删除</button></td>
        </tr>
      </tbody>
    </table>
    <div>
      <input v-model="newUser.name" placeholder="姓名">
      <input v-model="newUser.age" placeholder="年龄" type="number">
      <input v-model="newUser.email" placeholder="邮箱">
      <button @click="addUser">添加用户</button>
    </div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      users: [
        { id: 1, name: '张三', age: 25, email: 'zhangsan@example.com' },
        { id: 2, name: '李四', age: 30, email: 'lisi@example.com' }
      ],
      newUser: {
        name: '',
        age: 0,
        email: ''
      }
    }
  },
  methods: {
    addUser() {
      this.users.push({
        id: this.users.length + 1,
        ...this.newUser
      });
      this.newUser = { name: '', age: 0, email: '' };
    },
    deleteUser(id) {
      this.users = this.users.filter(user => user.id !== id);
    }
  }
}
</script>

<style>
table {
  width: 100%;
  border-collapse: collapse;
}
th, td {
  border: 1px solid #ddd;
  padding: 8px;
  text-align: left;
}
th {
  background-color: #f2f2f2;
}
</style>

进阶功能

可以根据需求扩展更多功能,如分页、排序、筛选等。使用计算属性或第三方库(如 Lodash)简化复杂操作。

vue实现用户信息表

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

标签: 用户信息vue
分享给朋友:

相关文章

vue实现导航栏切图

vue实现导航栏切图

Vue 实现导航栏切图 使用 Vue Router 实现基础导航 在 Vue 项目中,可以通过 Vue Router 实现导航栏的路由切换。创建一个导航栏组件,并在其中使用 <router-li…

vue设计与实现下载

vue设计与实现下载

vue设计与实现电子书下载 《Vue.js设计与实现》是一本深入解析Vue.js框架原理的书籍,由霍春阳(HcySunYang)撰写。以下是获取该资源的常见途径: 正版购买渠道 京东、…

vue实现星星

vue实现星星

实现星星评分的Vue组件 使用Vue实现星星评分功能可以通过组件化方式完成,以下是一个完整的实现方案: 模板部分 <template> <div class="star-ra…

js实现vue

js实现vue

Vue.js 的基本实现方法 在 JavaScript 中实现 Vue.js 的功能,可以通过直接引入 Vue 库或使用现代构建工具(如 Vite 或 Webpack)。以下是几种常见的实现方式:…

vue实现visual

vue实现visual

Vue 实现可视化(Visual)的常见方法 在 Vue 中实现可视化通常涉及数据可视化库的集成,以下是几种主流方案: 使用 ECharts ECharts 是一个强大的 JavaScript 图表…

vue实现跑车

vue实现跑车

Vue 实现跑车动画效果 使用 Vue 结合 CSS 动画可以实现跑车在屏幕上移动的效果。以下是一个完整的实现方案: 创建 Vue 组件结构 <template> <div c…