当前位置:首页 > VUE

vue实现表单添加删除

2026-02-24 05:19:47VUE

Vue 表单添加与删除实现

数据绑定与表单结构

使用v-model绑定表单数据,确保双向数据流。表单结构需包含输入字段和操作按钮。

<template>
  <div>
    <form @submit.prevent="addItem">
      <input v-model="newItem.name" placeholder="名称">
      <input v-model="newItem.age" placeholder="年龄" type="number">
      <button type="submit">添加</button>
    </form>
  </div>
</template>

数据初始化

datasetup中初始化表单数据和列表数组。

vue实现表单添加删除

data() {
  return {
    newItem: { name: '', age: null },
    items: []
  }
}

添加功能实现

通过数组方法将新数据添加到列表中,并重置表单。

methods: {
  addItem() {
    this.items.push({...this.newItem});
    this.newItem = { name: '', age: null };
  }
}

删除功能实现

使用splicefilter根据索引或ID删除指定项。

vue实现表单添加删除

<ul>
  <li v-for="(item, index) in items" :key="index">
    {{ item.name }} - {{ item.age }}
    <button @click="removeItem(index)">删除</button>
  </li>
</ul>
methods: {
  removeItem(index) {
    this.items.splice(index, 1);
  }
}

使用计算属性验证

添加表单验证逻辑,确保数据有效性。

computed: {
  isFormValid() {
    return this.newItem.name.trim() && this.newItem.age > 0;
  }
}

完整组件示例

整合所有功能的完整组件代码示例。

<template>
  <div>
    <form @submit.prevent="addItem">
      <input v-model="newItem.name" placeholder="名称">
      <input v-model="newItem.age" placeholder="年龄" type="number">
      <button type="submit" :disabled="!isFormValid">添加</button>
    </form>

    <ul>
      <li v-for="(item, index) in items" :key="index">
        {{ item.name }} - {{ item.age }}
        <button @click="removeItem(index)">删除</button>
      </li>
    </ul>
  </div>
</template>

<script>
export default {
  data() {
    return {
      newItem: { name: '', age: null },
      items: []
    }
  },
  computed: {
    isFormValid() {
      return this.newItem.name.trim() && this.newItem.age > 0;
    }
  },
  methods: {
    addItem() {
      this.items.push({...this.newItem});
      this.newItem = { name: '', age: null };
    },
    removeItem(index) {
      this.items.splice(index, 1);
    }
  }
}
</script>

标签: 表单vue
分享给朋友:

相关文章

拖拽式编程vue实现

拖拽式编程vue实现

拖拽式编程在 Vue 中的实现方法 使用 HTML5 原生拖放 API Vue 可以结合 HTML5 的拖放 API 实现基础拖拽功能。通过 draggable 属性标记可拖拽元素,监听 dragst…

vue实现闪烁

vue实现闪烁

Vue实现元素闪烁效果 使用CSS动画实现 通过Vue绑定class结合CSS动画实现闪烁效果,代码简洁且性能较好。 <template> <div :class="{…

vue分页实现

vue分页实现

实现Vue分页的几种方法 使用Element UI的分页组件 安装Element UI库后,可以直接使用其分页组件。以下是一个基本示例: <template> <div>…

vue如何实现mvvm

vue如何实现mvvm

Vue 实现 MVVM 的核心机制 Vue 的 MVVM(Model-View-ViewModel)实现依赖于数据绑定和响应式系统,通过以下核心机制完成: 数据劫持(响应式系统) Vue 使用 Ob…

vue实现滚动监听

vue实现滚动监听

滚动监听的基本实现 在Vue中实现滚动监听可以通过原生JavaScript的window.addEventListener或结合Vue的生命周期钩子完成。以下是一个基础示例: export defa…

vue实现部门树

vue实现部门树

Vue 实现部门树的方法 使用递归组件实现树形结构 递归组件是 Vue 中实现树形结构的常见方式。通过组件自身调用自身,可以轻松构建多层级的部门树。 <template> <d…