当前位置:首页 > 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 实现后退功能的方法 在 Vue 中实现后退功能通常可以通过以下几种方式完成,具体取决于应用场景和需求。 使用 window.history API 通过原生 JavaScript 的 win…

vue实现图册

vue实现图册

Vue实现图册功能 在Vue中实现图册功能通常涉及图片展示、切换、缩放等交互效果。以下是常见的实现方法和关键代码示例: 基础图册组件结构 使用Vue单文件组件构建基础结构: <templat…

vue实现骰子

vue实现骰子

Vue 实现骰子功能 创建 Vue 组件 在 Vue 项目中创建一个骰子组件,例如 Dice.vue。该组件包含骰子的外观和逻辑。 <template> <div class=…

vue实现vnc

vue实现vnc

Vue 实现 VNC 客户端 在 Vue 项目中实现 VNC 客户端功能,可以通过集成现有的 VNC 客户端库或组件完成。以下是具体实现方法: 安装依赖库 使用 noVNC 或其他 VNC 客户端…

vue实现抖动

vue实现抖动

Vue 实现抖动效果 在 Vue 中实现抖动效果可以通过 CSS 动画或 JavaScript 动画库来实现。以下是几种常见的方法: 使用 CSS 动画 通过定义 @keyframes 动画并在 V…

vue实现树形

vue实现树形

Vue 实现树形组件 在 Vue 中实现树形结构通常需要递归组件和动态数据绑定。以下是实现树形组件的几种常见方法。 递归组件实现 递归组件是 Vue 中实现树形结构的核心方法。通过组件调用自身,可以…