当前位置:首页 > VUE

vue实现添加删除

2026-03-08 05:00:52VUE

Vue 实现添加和删除功能

在 Vue 中实现添加和删除功能通常涉及数据绑定、事件处理和列表渲染。以下是一个完整的示例,展示如何通过 Vue 实现动态添加和删除列表项。

vue实现添加删除

初始化 Vue 实例

创建一个 Vue 实例,并定义数据和方法。数据包括一个数组 items 和一个输入框绑定的变量 newItem

vue实现添加删除

new Vue({
  el: '#app',
  data: {
    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);
    }
  }
});

模板部分

在 HTML 中,使用 v-for 渲染列表,并通过 v-model 绑定输入框的值。为按钮绑定 addItemremoveItem 方法。

<div id="app">
  <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>

功能说明

  • 添加功能:通过 v-model 绑定输入框的值到 newItem,点击“Add”按钮时调用 addItem 方法,将输入的值添加到 items 数组中。
  • 删除功能:每个列表项旁有一个“Delete”按钮,点击时调用 removeItem 方法并传入当前项的索引,从 items 数组中移除对应项。

完整示例代码

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Vue Add/Remove Items</title>
  <script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
</head>
<body>
  <div id="app">
    <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>

  <script>
    new Vue({
      el: '#app',
      data: {
        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>
</body>
</html>

注意事项

  • 唯一键值:在实际项目中,建议为 v-for 使用唯一的键值(如 id),而非索引。
  • 输入验证:添加输入验证以确保空值不会被添加到列表中。
  • 组件化:对于复杂场景,可以将列表项封装为子组件,提升代码可维护性。

标签: vue
分享给朋友:

相关文章

vue实现节流

vue实现节流

vue实现节流的方法 在Vue中实现节流(throttle)功能,通常用于限制高频事件的触发频率,例如滚动、输入或按钮点击。以下是几种常见的实现方式: 使用Lodash的throttle函数 安装L…

vue实现oauth

vue实现oauth

Vue 实现 OAuth 的步骤 安装必要的依赖 确保项目中安装了 axios 和 vue-router。OAuth 通常需要发送 HTTP 请求和处理路由跳转。 npm install axios…

vue搜索实现

vue搜索实现

Vue 搜索功能实现方法 基于计算属性的搜索 在 Vue 中可以通过计算属性实现简单的搜索功能。这种方式适合小型数据集,利用 JavaScript 的 filter 方法进行筛选。 data() {…

vue实现dag

vue实现dag

Vue实现DAG(有向无环图) 在Vue中实现DAG(Directed Acyclic Graph,有向无环图)通常涉及数据结构的建模、可视化渲染以及交互逻辑处理。以下是关键实现步骤和示例代码: 数…

vue实现select

vue实现select

Vue 实现 Select 组件的方法 在 Vue 中实现 Select 组件可以通过多种方式完成,以下是几种常见的方法: 使用原生 HTML select 元素 原生 HTML 的 <sel…

vue实现书库

vue实现书库

Vue 实现书库功能 使用 Vue 构建书库功能需要结合前端框架和后端数据管理。以下是实现步骤和关键点: 项目初始化 使用 Vue CLI 或 Vite 初始化项目,安装 Vue Router 和状…