vue3 数组去重后出现 proxy(object) 数据的原因
vue3 中,当使用 ref 创建数据时,这些数据会经过特殊处理,可能导致数组去重后出现额外的 proxy(object) 数据。
出现这种情况通常是因为在使用 ref 创建的数组对象 obj 时,没有调用 toraw 函数将其转换为原始对象。以下示例演示了如何解决这个问题:
import { ref, toraw } from 'vue'; const obj = ref({ serviceattributelist: [ { name: 'duo', }, { name: 'emma', }, ], });登录后复制
在去重操作中,使用 toraw 转换 obj.value.serviceattributelist 为原始对象:
立即学习“前端免费学习笔记(深入)”;
const set = new set([...list, ...toraw(obj.value.serviceattributelist)]);登录后复制
转换后的原始对象与原始数组进行去重,并将其结果赋值回 ref 创建的数组对象中:
obj.serviceAttributeList = [...new Set(result)];登录后复制
需要注意的是,直接使用 new set 无法对对象数组进行去重,需要将对象转换为字符串后再进行去重,然后转换回对象。
本文采摘于网络,不代表本站立场,转载联系作者并注明出处:https://www.iotsj.com//kuaixun/6683.html