技术文摘
Vue 列表页面的增删改查操作
2025-01-10 20:49:23 小编
Vue 列表页面的增删改查操作
在前端开发中,Vue.js 凭借其简洁易用的特点被广泛应用。而列表页面的增删改查操作是很多项目中必不可少的功能,下面我们就来详细探讨一下如何在 Vue 中实现这些操作。
首先是“增”操作。我们可以通过创建一个表单,使用 Vue 的双向数据绑定将用户输入的值存储在数据对象中。当用户点击“添加”按钮时,将这些数据添加到列表数组中。例如:
<template>
<div>
<form @submit.prevent="addItem">
<input v-model="newItem" placeholder="输入新项">
<button type="submit">添加</button>
</form>
<ul>
<li v-for="(item, index) in list" :key="index">{{ item }}</li>
</ul>
</div>
</template>
<script>
export default {
data() {
return {
newItem: '',
list: []
}
},
methods: {
addItem() {
this.list.push(this.newItem);
this.newItem = '';
}
}
}
</script>
“删”操作则相对简单。我们可以为每个列表项添加一个删除按钮,当点击按钮时,通过 splice 方法从列表数组中移除该项。如下:
<template>
<div>
<ul>
<li v-for="(item, index) in list" :key="index">
{{ item }}
<button @click="deleteItem(index)">删除</button>
</li>
</ul>
</div>
</template>
<script>
export default {
data() {
return {
list: []
}
},
methods: {
deleteItem(index) {
this.list.splice(index, 1);
}
}
}
</script>
“改”操作需要先进入编辑状态,我们可以通过一个标志位来控制是否处于编辑模式。点击编辑按钮时,切换标志位并将当前项的值填充到输入框中,用户修改后点击保存按钮更新列表项。
<template>
<div>
<ul>
<li v-for="(item, index) in list" :key="index">
<span v-if="!editing[index]">{{ item }}</span>
<input v-if="editing[index]" v-model="editedItems[index]" @blur="saveEdit(index)">
<button @click="editItem(index)">编辑</button>
<button @click="saveEdit(index)" v-if="editing[index]">保存</button>
</li>
</ul>
</div>
</template>
<script>
export default {
data() {
return {
list: [],
editing: [],
editedItems: []
}
},
methods: {
editItem(index) {
this.editing[index] = true;
this.editedItems[index] = this.list[index];
},
saveEdit(index) {
this.list[index] = this.editedItems[index];
this.editing[index] = false;
}
}
}
</script>
最后是“查”操作。我们可以添加一个搜索框,使用 filter 方法对列表进行过滤,展示符合条件的项。
<template>
<div>
<input v-model="searchText" placeholder="搜索">
<ul>
<li v-for="item in filteredList" :key="item">{{ item }}</li>
</ul>
</div>
</template>
<script>
export default {
data() {
return {
list: [],
searchText: ''
}
},
computed: {
filteredList() {
return this.list.filter(item => item.includes(this.searchText));
}
}
}
</script>
通过以上步骤,我们就完成了 Vue 列表页面的增删改查操作,这些操作能够极大提升用户体验,让数据管理更加便捷高效。
- CSS 光标属性展示实例
- CSS3 中 flex 布局怎样实现网页导航栏自适应效果
- 在HTML中如何指定要在特定元素中显示的页面HTML内容
- Vue3+Django4全栈项目实现步骤,一步一步来
- CSS3编程必知:全面精通is与where选择器使用技巧
- HTML 中合并表格单元格的方法
- 深入理解Vue 3响应式原理,打造高效前端应用
- 传递鼠标点击到覆盖的HTML元素
- CSS3属性实现网页导航栏动画效果的方法
- CSS3动画技术前景与挑战:摆脱对jQuery的单一依赖开发
- 借助 CSS 动画实现工具提示淡入效果
- Vue3+TS+Vite开发技巧之数据加密与存储方法
- CSS3 在线学习资源推荐与使用技巧分享
- Vue3与Django4结合的全栈项目开发
- 用HTML和CSS移除填充颜色来改变图像颜色的方法