vue列表-批量删除功能

实现方式

在资源列表的顶部或底部添加一个"批量删除"按钮,用户可点击该按钮来删除所选中的资源。

数据与方法

  • selectedRows:存储用户选中的资源数据的数组。
  • doBatchDel():处理批量删除操作的方法,调用接口进行删除所选中的资源。

示例代码

<div> 
<a-popconfirm title="是否确认删除?" @confirm="doDelete"> 
<a-button>批量删除({{ selectedCount }})</a-button> // {{selectedCount}} 显示选中了列表的数量 
</a-popconfirm> 
</div>
import { delResc } from '@/api/***'; // 删除接口
doDelete() { 
const _this = this; 
if ( _this.selectedRowKeys.length === 0 ) { 
_this.$message.warning("请选择要删除的数据"); 
return; 
} 
const promises = _this.selectedRowKeys.map(id => delResc(id)); //调用delResc删除接口删除多个id 
Promise.all(promises).then(res => { 
_this.initData(); 
_this.selectedRowKeys = []; 
_this.$message.success("删除成功"); 
}) .catch(error => { 
_this.$message.error("删除失败"); 
console.log(error); 
}); 
},

在Vue组件的资源列表上方或下方添加一个操作栏,在操作栏中添加一个"批量删除"按钮。当用户选中一个或多个资源时,按钮才显示。当用户点击按钮时,调用doBatchDel()方法进行批量删除操作。

使用方法

将以上示例代码添加到您的Vue组件中,在适当的位置显示资源列表,并在操作栏中添加"批量删除"按钮,并调用doBatchDel()方法删除所选中的资源。根据实际需求适配批量删除的业务逻辑和接口调用。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在uni-app中实现列表页的批量删除,你可以照以下步骤进行操作: 1. 创建一个列表页面,展示需要删除列表。 2. 在列表项中添加复选框或者多选框,用于选择需要删除的项。 3. 给每个复选框或者多选框绑定一个选中状态的变量,可以使用v-model指令进行双向绑定。 4. 添加一个全选的复选框或者多选框,用于全选或取消全选列表项。 5. 给全选复选框或者多选框绑定一个选中状态的变量,并监听其变化。 6. 添加一个批量删除按钮。 7. 点击批量删除按钮时,获取所有选中的项,然后进行删除操作。 以下是一个示例代码,用于实现uni-app的列表批量删除功能: ```vue <template> <view> <!-- 全选复选框 --> <checkbox v-model="selectAll" @change="selectChange">全选</checkbox> <!-- 列表项 --> <view v-for="item in list" :key="item.id"> <checkbox v-model="item.checked" @change="selectItem(item)">选择</checkbox> <text>{{ item.name }}</text> </view> <!-- 批量删除按钮 --> <button @click="deleteItems">批量删除</button> </view> </template> <script> export default { data() { return { list: [ { id: 1, name: '项1', checked: false }, { id: 2, name: '项2', checked: false }, { id: 3, name: '项3', checked: false } ], selectAll: false }; }, methods: { selectChange() { // 全选复选框状态改变时,同时改变所有列表项的选中状态 this.list.forEach(item => { item.checked = this.selectAll; }); }, selectItem(item) { // 列表项复选框状态改变时,判断是否全部选中 this.selectAll = this.list.every(item => item.checked); }, deleteItems() { // 删除选中的列表项 const selectedItems = this.list.filter(item => item.checked); selectedItems.forEach(item => { const index = this.list.indexOf(item); this.list.splice(index, 1); }); } } }; </script> ``` 以上代码实现了一个简单的列表批量删除功能,你可以根据自己的需求进行修改和扩展。希望能帮助到你!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值