vue实现增加
Vue 实现增加功能的方法
在 Vue 中实现增加功能通常涉及数据绑定、事件处理和状态管理。以下是几种常见的实现方式:
使用 v-model 和数组方法
通过 v-model 绑定输入数据,使用数组的 push 方法添加新项到列表中。

<template>
<div>
<input v-model="newItem" placeholder="输入新项">
<button @click="addItem">添加</button>
<ul>
<li v-for="(item, index) in items" :key="index">{{ item }}</li>
</ul>
</div>
</template>
<script>
export default {
data() {
return {
newItem: '',
items: []
}
},
methods: {
addItem() {
if (this.newItem.trim()) {
this.items.push(this.newItem);
this.newItem = '';
}
}
}
}
</script>
使用 Vuex 状态管理
对于大型应用,可以通过 Vuex 集中管理状态并实现增加功能。

// store.js
export default new Vuex.Store({
state: {
items: []
},
mutations: {
ADD_ITEM(state, item) {
state.items.push(item);
}
},
actions: {
addItem({ commit }, item) {
commit('ADD_ITEM', item);
}
}
});
<!-- 组件中使用 -->
<template>
<div>
<input v-model="newItem">
<button @click="submitItem">提交</button>
</div>
</template>
<script>
export default {
data() {
return { newItem: '' }
},
methods: {
submitItem() {
this.$store.dispatch('addItem', this.newItem);
this.newItem = '';
}
}
}
</script>
表单验证后增加
结合表单验证库如 VeeValidate 实现带验证的增加功能。
<template>
<ValidationObserver v-slot="{ handleSubmit }">
<form @submit.prevent="handleSubmit(addItem)">
<ValidationProvider rules="required" v-slot="{ errors }">
<input v-model="newItem">
<span>{{ errors[0] }}</span>
</ValidationProvider>
<button type="submit">提交</button>
</form>
</ValidationObserver>
</template>
动态组件增加
通过动态组件实现条件性渲染增加表单。
<template>
<div>
<button @click="showForm = true">新增</button>
<component :is="showForm ? 'add-form' : ''" @cancel="showForm = false"/>
</div>
</template>
注意事项
- 确保为列表项设置唯一的
key属性 - 对于复杂对象,使用深拷贝避免引用问题
- 表单提交后及时清空输入框
- 考虑添加防抖或节流优化频繁操作






