【自用】VUE跨页多选 - 以进行批量删除或批量下载二维码

一、HTML 部分的代码

1.代码示例:
<div style="border-radius: 20px;overflow: hidden;display: block;height: 82.5vh;width: 100%;">
   <el-table show-header ref="multipleTableRef" v-if="tableData" :data="tableData" height="88vh" style="width: 100%"
   @selection-change="handleSelectionChange" stripe id="img" :row-key="getRowkeys">
     <el-table-column type="selection" reserve-selection=true width="55px" />
     <el-table-column prop="id" label="编号" sortable width="auto" />
     <el-table-column prop="name" label="名称" sortable width="auto" />
     <el-table-column prop="model" label="规格型号" sortable width="auto" />
     <el-table-column prop="produceTime" label="生产日期" sortable width="auto" />
     <el-table-column prop="departmentName" label="当前所在部门" sortable width="auto" />
     <el-table-column prop="status" label="钢管状态" sortable width="auto" />
     <el-table-column fixed="right" label="操作" width="auto" show-overflow-tooltip>
       <template scope="scope">
         <el-button size="mini" type="primary" @click="ifEdit(scope.row)">编辑</el-button>
         <el-button size="mini" type="primary" @click="ifDownload(scope.row)">下载二维码</el-button>
       </template>
     </el-table-column>
   </el-table>
 </div>
2.实现跨页多选的 关键点(以下所有代码操作都是上面代码的局部)!

步骤1:
为 <el-table> 标签添加一个属性,并设置一个名称为getRowkeys的方法:

<el-table show-header ref="multipleTableRef" v-if="tableData" :data="tableData" @selection-change="handleSelectionChange" stripe id="img" :row-key="getRowkeys">

步骤2
为带有 type=selection 的 <el-table-column> 标签添加一个属性,并设置值为true:

<el-table-column type="selection" reserve-selection=true width="55px" />

二、JS 部分的代码

1.代码示例:

注意!row.xxx ,请使用你row中的唯一标识作为 xxx !
我这里使用的是id,但你要按照你的数据来决定它是不是id!

methods: {
	// 跨分页保持批量选中 row.key 依赖方法
    getRowkeys:function (row){
    	// 注意!row.xxx ,请使用你row中的唯一标识作为 xxx !我这里使用的是id,但你要按照你的数据来决定它是不是id!
      	return row.id;
    },
}

三、大工告成!

去看看吧,现在已经能够跨页进行多选,并操作不同分页的数据了!
在这里插入图片描述
在这里插入图片描述
回到第一页的时候数据还在,保持了被选中的状态!

在这里插入图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
可以使用以下步骤来批量生成二维码下载: 1. 安装 vue-qr 依赖 使用 npm 命令进行安装: ``` npm install vue-qr --save ``` 2. 编写组件 在 Vue 组件中引入 vue-qr,使用 v-for 循环生成多个二维码,并添加下载功能。 ``` <template> <div> <div v-for="(item, index) in qrList" :key="index"> <img :src="item" /> <button @click="downloadQR(index)">下载二维码</button> </div> </div> </template> <script> import VueQr from 'vue-qr' export default { data() { return { qrList: ['http://www.example.com/qr1', 'http://www.example.com/qr2', 'http://www.example.com/qr3'] } }, components: { VueQr }, methods: { downloadQR(index) { const link = document.createElement('a') link.href = this.qrList[index] link.download = `qr-${index}.png` document.body.appendChild(link) link.click() document.body.removeChild(link) } } } </script> ``` 3. 生成二维码 在组件中使用 VueQr 组件生成二维码: ``` <vue-qr :value="item"></vue-qr> ``` 其中,`:value` 属性绑定的是二维码的内容。 4. 下载二维码下载按钮的点击事件中,使用 JavaScript 中的 download 属性来下载二维码。代码如下: ``` downloadQR(index) { const link = document.createElement('a') link.href = this.qrList[index] link.download = `qr-${index}.png` document.body.appendChild(link) link.click() document.body.removeChild(link) } ``` 其中,`this.qrList[index]` 表示当前二维码的链接,`qr-${index}.png` 表示下载的文件名。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MicroLindb

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值