vue 批量复制,但是名字不能相同,相同名字后面拼数字。

这篇博客介绍了一个Vue项目中批量复制详情数据的需求,关键在于处理name不能相同的情况。作者提出两种解决方案:一是复制时检查并添加唯一数字,二是复制后弹窗让用户修改名字。最终,作者参照Mac OS中复制文件的命名方式,实现了每次复制时检查数组并插入新名字。文章提供了具体的`handleCopyDataName`和`onlyHandleName`方法实现。
摘要由CSDN通过智能技术生成

    接到这么一个需求:批量复制一个详情数据,但是详情数据的name不能相同。相同的话,name后面拼数字。

   os: 首先这个情况,完全可以规避掉。比如你copy的时候,只能选一个copy。此时你可以用findIndex来找是否重复,重复添加数字,一个去找比多个去找要简单太多了。另一种就是你copy一个,出一个弹窗修改名字,名字直到不重复为止,等等…

   但是! 就要这么做怎么办呢?

   我参考了mac上,copy文件的名字的方式。是这样的,你copy第一次,会出现xx2、再copy,copy的名字是xx3,如果你copy xx2, copy的名字是xx2 2,3是同理。

如下图:

在这里插入图片描述
假如将2 3删掉,再copy一个2的话,是应该出现2 5呢还是2 3呢?
答案是 2 3。这说明,是很暴力的插入数组里,你没有我就给你顶上,而不是按顺序走。那咱们也按照这个办法来做吧。

不会 就参考人家怎么做的嘛


下面是代码实现。

点击copy按钮的方法

cloneDeep是lodash中的方法,拿来直接用。
let saveData = []
let resultData = cloneDeep(this.resultData)
 // checkList 选中的内容 一般是视图层绑定的id
  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值