vue批量删除实现

vue批量删除实现## 标题

直接代码:界面需要两个变化,一个是table前面的空白选择框如图:在这里插入图片描述
一个是批量删除按钮如图:
在这里插入图片描述

前端代码如图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
由于需要穿list对象到后端,所以需要如上图进行处理

后端代码如图:
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个实现批量删除的示例代码: ```vue <template> <div> <button @click="deleteSelected">批量删除</button> <table> <thead> <tr> <th><input type="checkbox" v-model="selectAll"></th> <th>ID</th> <th>名称</th> <th>操作</th> </tr> </thead> <tbody> <tr v-for="item in items" :key="item.id"> <td><input type="checkbox" v-model="selectedItems" :value="item.id"></td> <td>{{ item.id }}</td> <td>{{ item.name }}</td> <td> <button @click="deleteItem(item.id)">删除</button> </td> </tr> </tbody> </table> </div> </template> <script> import axios from 'axios' export default { data() { return { items: [], selectedItems: [], selectAll: false } }, mounted() { this.fetchData() }, methods: { fetchData() { axios.get('/api/items').then(res => { this.items = res.data }) }, deleteItem(id) { axios.delete(`/api/items/${id}`).then(() => { this.fetchData() }) }, deleteSelected() { axios.delete('/api/items', { data: { ids: this.selectedItems } }).then(() => { this.selectedItems = [] this.selectAll = false this.fetchData() }) } }, watch: { selectAll(val) { if (val) { this.selectedItems = this.items.map(item => item.id) } else { this.selectedItems = [] } } } } </script> ``` 这个示例代码假设你已经有一个 `/api/items` 接口可以获取所有的项,并且可以通过 DELETE 方法来删除一个或多个项。其中,`selectedItems` 是一个数组,存储了当前选中的项的 ID,`selectAll` 是一个布尔值,表示是否选中了所有项。在 `deleteSelected` 方法中,我们使用了 axios 的 `delete` 方法,将选中的项的 ID 作为参数传递给后端。注意,在这里我们使用了 `data` 选项来指定传递的数据,而不是使用 `params` 选项。这是因为在 RESTful API 设计中,使用 DELETE 方法删除资源时,应该将要删除的资源的标识符放在请求的正文中,而不是放在 URL 的参数中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值