数据的浅拷贝无法解决的问题,可以用深拷贝JSON.parse(JSON.stringify(element))

在做表单设计的时候,右侧数据是对中间数据的浅拷贝

{
        ...element,   //浅拷贝,但是引用类型的数据,无法独立出来
        id: guid(),
    }

,会出现右侧数据更改,中间部分两个组件数据会同步修改。

 

解决方案是将所有数据进行深拷贝

//组件克隆
const clone = (element) => {
    console.log('element111', element)
    const len = draggaDataView.value.length
    return {
        ...JSON.parse(JSON.stringify(element)),   //先深拷贝,再浅拷贝,防止引用类型的数据不进行拷贝
        id: guid(),
    }
}

 

 

posted @ 2025-01-06 11:44  Shimily  阅读(7)  评论(0)    收藏  举报