fix: 修复属性名称修改后顺序被重置的问题

This commit is contained in:
albert
2022-12-21 11:13:57 +08:00
parent 78ab7fddcf
commit be8a175584
2 changed files with 27 additions and 6 deletions

View File

@@ -21,4 +21,23 @@ export function isNull(ele){
return true;
}
return false;
}
export function renamePropertyAndKeepKeyPrecedence(_this, obj, [oldKey, newKey]) {
const descriptors = Object.getOwnPropertyDescriptors(obj)
if (Object.prototype.hasOwnProperty.call(descriptors, oldKey)) {
Object.entries(descriptors)
.reduce((target, [key, descriptor]) => {
if(key === '__ob__') return target
// Reflect.deleteProperty(target, key)
console.info('TTT', target, key ,descriptor)
_this.$delete(target, key)
if (key === oldKey) {
key = newKey
}
// // Reflect.defineProperty(target, key, descriptor)
_this.$set(target, key, descriptor.get())
return target;
}, obj)
}
return obj
}