From 543235673e3918b00143620fefcbbf35d22a59cc Mon Sep 17 00:00:00 2001 From: NiSen Date: Thu, 20 Jul 2023 10:31:37 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=BC=E5=85=A5=E5=8E=BB=E9=87=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/drawers/InitiateRecommend.vue | 21 +++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/src/components/drawers/InitiateRecommend.vue b/src/components/drawers/InitiateRecommend.vue index 878ffda5..5744901e 100644 --- a/src/components/drawers/InitiateRecommend.vue +++ b/src/components/drawers/InitiateRecommend.vue @@ -347,6 +347,23 @@ const closeModal = () => { state.importId = '', state.AMvisible = false +} +// 根据数组id去重 +const deduplicateArrayById = (arr) => { + // 使用 Set 数据结构保存不重复的 id + const idSet = new Set(); + // 使用 map 方法遍历数组,检查并去重对象 + const deduplicatedArray = arr.filter(obj => { + const id = obj.id; + if (!idSet.has(id)) { + idSet.add(id); + return true; + } + return false; + }); + + return deduplicatedArray; + } //上传文件 const handleChange = (info) => { @@ -389,9 +406,7 @@ const handleChange = (info) => { state.caseTitleList = caseList state.selectedRowKeys = [...new Set([...caseIdList, ...state.selectedRowKeys])] - state.selectedRow = [...new Set([...state.selectedRow, ...caseList].map(t => JSON.stringify(t)))].map(s => JSON.parse(s)) - // state.selectedRow.push(...caseList) - // state.selectedRow = Array.from(new Set(state.selectedRow.map(JSON.stringify))).map(JSON.parse); + state.selectedRow = deduplicateArrayById([...state.selectedRow, ...caseList]); console.log(caseList, state.selectedRow); //发请求看失败的数据