当前位置:首页 > 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 实现多层评论回复 数据结构设计 多层评论通常采用嵌套结构,每个评论对象包含子评论数组。示例数据结构如下: comments: [ { id: 1, content: '父…

vue实现绑卡的原理

vue实现绑卡的原理

Vue 实现绑卡的原理 Vue 实现绑卡功能通常涉及前端表单处理、数据绑定、验证以及和后端 API 的交互。以下是实现绑卡功能的核心原理和步骤: 数据绑定与表单处理 Vue 通过 v-model 指…

vue实现主页

vue实现主页

Vue 实现主页的基本步骤 创建一个 Vue 主页通常涉及以下几个关键步骤,从项目初始化到页面布局和功能实现。 初始化 Vue 项目 使用 Vue CLI 或 Vite 初始化项目。Vue CLI…

vue实现suspense

vue实现suspense

Vue 3 中实现 Suspense Suspense 是 Vue 3 引入的一个内置组件,用于处理异步依赖的加载状态。它允许在等待异步组件或异步数据加载时显示一个后备内容(fallback),直到异…

vue实现selectable

vue实现selectable

Vue 实现可选择的 Select 组件 在 Vue 中实现一个可选择的 Select 组件,可以通过以下几种方式: 使用原生 HTML select 元素 <template>…

vue实现addclass

vue实现addclass

Vue 实现动态添加 class 的方法 在 Vue 中动态添加 class 可以通过多种方式实现,以下是常见的几种方法: 使用对象语法 通过绑定一个对象到 :class,可以动态切换 class…