当前位置:首页 > VUE

vue实现添加和删除

2026-02-23 16:17:37VUE

Vue 实现添加和删除功能

在 Vue 中实现添加和删除功能通常涉及数据绑定、事件处理和列表渲染。以下是实现这些功能的具体方法:

数据绑定与初始化

在 Vue 组件的 datasetup 中初始化一个数组来存储需要操作的数据。例如:

data() {
  return {
    items: ['Item 1', 'Item 2', 'Item 3'],
    newItem: ''
  }
}

或使用 Composition API:

setup() {
  const items = ref(['Item 1', 'Item 2', 'Item 3']);
  const newItem = ref('');
  return { items, newItem };
}

添加功能实现

通过表单输入绑定 v-model 获取新数据,并在按钮点击时触发添加逻辑:

<input v-model="newItem" placeholder="Add new item">
<button @click="addItem">Add</button>

对应的方法:

methods: {
  addItem() {
    if (this.newItem.trim() !== '') {
      this.items.push(this.newItem.trim());
      this.newItem = '';
    }
  }
}

或 Composition API:

const addItem = () => {
  if (newItem.value.trim() !== '') {
    items.value.push(newItem.value.trim());
    newItem.value = '';
  }
};

删除功能实现

使用 v-for 渲染列表,并为每个项添加删除按钮。通过索引或唯一标识符删除数据:

<ul>
  <li v-for="(item, index) in items" :key="index">
    {{ item }}
    <button @click="removeItem(index)">Delete</button>
  </li>
</ul>

对应的删除方法:

methods: {
  removeItem(index) {
    this.items.splice(index, 1);
  }
}

或 Composition API:

const removeItem = (index) => {
  items.value.splice(index, 1);
};

完整示例(Options API)

<template>
  <div>
    <input v-model="newItem" placeholder="Add new item">
    <button @click="addItem">Add</button>
    <ul>
      <li v-for="(item, index) in items" :key="index">
        {{ item }}
        <button @click="removeItem(index)">Delete</button>
      </li>
    </ul>
  </div>
</template>

<script>
export default {
  data() {
    return {
      items: ['Item 1', 'Item 2', 'Item 3'],
      newItem: ''
    };
  },
  methods: {
    addItem() {
      if (this.newItem.trim() !== '') {
        this.items.push(this.newItem.trim());
        this.newItem = '';
      }
    },
    removeItem(index) {
      this.items.splice(index, 1);
    }
  }
};
</script>

完整示例(Composition API)

<template>
  <div>
    <input v-model="newItem" placeholder="Add new item">
    <button @click="addItem">Add</button>
    <ul>
      <li v-for="(item, index) in items" :key="index">
        {{ item }}
        <button @click="removeItem(index)">Delete</button>
      </li>
    </ul>
  </div>
</template>

<script setup>
import { ref } from 'vue';

const items = ref(['Item 1', 'Item 2', 'Item 3']);
const newItem = ref('');

const addItem = () => {
  if (newItem.value.trim() !== '') {
    items.value.push(newItem.value.trim());
    newItem.value = '';
  }
};

const removeItem = (index) => {
  items.value.splice(index, 1);
};
</script>

关键点

  • 数据驱动:Vue 的核心是数据绑定,通过修改数组(如 pushsplice)自动更新视图。
  • 唯一标识v-for 中的 :key 必须唯一,通常使用索引或数据 ID。
  • 事件处理:使用 @click 绑定方法,注意传递参数(如索引)。

以上方法适用于大多数简单场景,如需复杂操作(如后端交互),可结合 axiosfetch 扩展逻辑。

vue实现添加和删除

标签: vue
分享给朋友:

相关文章

vue手写签名如何实现

vue手写签名如何实现

实现手写签名的基本思路 在Vue中实现手写签名功能,通常需要借助HTML5的Canvas API来捕获用户的绘制操作。核心流程包括初始化画布、监听触摸/鼠标事件、记录轨迹以及生成签名图片。…

vue懒加载实现难吗

vue懒加载实现难吗

vue懒加载的实现难度 Vue懒加载的实现并不复杂,核心逻辑是通过动态导入(Dynamic Imports)和路由配置或组件异步加载完成。以下是具体实现方法: 路由懒加载实现 在Vue Rout…

vue全选实现

vue全选实现

Vue 全选实现方法 在 Vue 中实现全选功能通常涉及数据绑定和事件处理。以下是几种常见的实现方式: 基础实现方式 <template> <div> <i…

vue实现切换

vue实现切换

Vue 实现切换功能的方法 在 Vue 中实现切换功能可以通过多种方式实现,以下是一些常见的方法: 使用 v-if 和 v-else 指令 通过条件渲染实现切换功能,适用于简单的显示/隐藏场景。…

实现vue table

实现vue table

Vue 表格实现方法 基础表格实现 使用 Vue 的 v-for 指令可以快速渲染表格数据。在模板中定义表格结构,通过数据绑定动态生成行和列。 <template> <tab…

vue实现ssr

vue实现ssr

Vue 实现 SSR(服务端渲染) Vue 的服务端渲染(SSR)允许在服务器端生成完整的 HTML 内容,再发送到客户端,提升首屏加载速度和 SEO 友好性。以下是实现 Vue SSR 的关键步骤和…