当前位置:首页 > VUE

vue实现增删改

2026-03-26 18:21:17VUE

Vue 实现增删改查功能

Vue.js 提供了响应式数据绑定和组件化开发能力,可以高效实现增删改查功能。以下是基于 Vue 2.x 或 3.x 的实现方案:

数据准备

初始化一个数组存储数据,并设置表单绑定的对象:

vue实现增删改

data() {
  return {
    items: [], // 存储列表数据
    form: {    // 表单绑定对象
      id: '',
      name: '',
      description: ''
    },
    isEditing: false // 编辑状态标志
  }
}

新增功能

创建新条目并添加到数组:

methods: {
  addItem() {
    if (!this.form.name) return

    const newItem = {
      id: Date.now(),
      ...this.form
    }
    this.items.push(newItem)
    this.resetForm()
  }
}

删除功能

根据ID删除指定条目:

vue实现增删改

deleteItem(id) {
  this.items = this.items.filter(item => item.id !== id)
}

编辑功能

将选中条目数据加载到表单:

editItem(item) {
  this.isEditing = true
  this.form = { ...item }
}

更新功能

保存修改后的数据:

updateItem() {
  const index = this.items.findIndex(item => item.id === this.form.id)
  if (index > -1) {
    this.items.splice(index, 1, { ...this.form })
    this.resetForm()
  }
}

表单重置

resetForm() {
  this.form = { id: '', name: '', description: '' }
  this.isEditing = false
}

模板示例

<template>
  <div>
    <form @submit.prevent="isEditing ? updateItem() : addItem()">
      <input v-model="form.name" placeholder="名称">
      <input v-model="form.description" placeholder="描述">
      <button type="submit">{{ isEditing ? '更新' : '添加' }}</button>
      <button v-if="isEditing" @click="resetForm">取消</button>
    </form>

    <ul>
      <li v-for="item in items" :key="item.id">
        {{ item.name }} - {{ item.description }}
        <button @click="editItem(item)">编辑</button>
        <button @click="deleteItem(item.id)">删除</button>
      </li>
    </ul>
  </div>
</template>

注意事项

  • 使用 v-for 时必须指定唯一的 :key
  • 表单提交使用 @submit.prevent 阻止默认行为
  • 编辑状态切换时需要正确管理表单数据
  • 对于复杂项目建议使用 Vuex 或 Pinia 管理状态

以上实现可根据实际需求进行调整,如添加表单验证、异步请求等功能。

标签: vue
分享给朋友:

相关文章

vue el 实现

vue el 实现

Vue 中使用 Element UI (el) 的实现方法 Element UI 是一个基于 Vue 的组件库,提供丰富的 UI 组件,常用于快速构建企业级中后台产品。以下介绍 Vue 项目中集成和使…

vue实现动画

vue实现动画

Vue 实现动画的方法 Vue 提供了多种方式来实现动画效果,包括内置的过渡系统、第三方动画库以及直接操作 CSS 或 JavaScript 动画。 使用 Vue 内置过渡系统 Vue 的 <…

vue实现pwa

vue实现pwa

Vue 实现 PWA 的步骤 Vue 结合 PWA(Progressive Web App)可以创建离线可用的 Web 应用。以下是实现方法: 安装 Vue CLI 并创建项目 确保已安装 Vue…

vue实现eventbus

vue实现eventbus

Vue 中实现 EventBus 在 Vue 中,EventBus 是一种跨组件通信的机制,尤其适用于非父子组件之间的数据传递。以下是实现 EventBus 的几种方法: 方法一:使用 Vue 实例…

vue实现城市

vue实现城市

Vue 实现城市选择功能 使用 Element UI 的 Cascader 组件 Element UI 提供了一个 Cascader 级联选择器组件,非常适合实现城市选择功能。需要先安装 Elemen…

vue实现抽奖轮盘

vue实现抽奖轮盘

实现抽奖轮盘的基本思路 使用Vue实现抽奖轮盘的核心在于动态旋转动画和结果判定。通常需要结合CSS动画或JavaScript动画库(如GSAP)控制轮盘的旋转角度,并通过随机数或后端接口确定最终奖项。…