|
|
@@ -1005,6 +1005,23 @@ function baseCreateRenderer(
|
|
|
isSVG: boolean
|
|
|
) => {
|
|
|
if (oldProps !== newProps) {
|
|
|
+ if (oldProps !== EMPTY_OBJ) {
|
|
|
+ for (const key in oldProps) {
|
|
|
+ if (!isReservedProp(key) && !(key in newProps)) {
|
|
|
+ hostPatchProp(
|
|
|
+ el,
|
|
|
+ key,
|
|
|
+ oldProps[key],
|
|
|
+ null,
|
|
|
+ isSVG,
|
|
|
+ vnode.children as VNode[],
|
|
|
+ parentComponent,
|
|
|
+ parentSuspense,
|
|
|
+ unmountChildren
|
|
|
+ )
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
for (const key in newProps) {
|
|
|
// empty string is not valid prop
|
|
|
if (isReservedProp(key)) continue
|
|
|
@@ -1025,23 +1042,6 @@ function baseCreateRenderer(
|
|
|
)
|
|
|
}
|
|
|
}
|
|
|
- if (oldProps !== EMPTY_OBJ) {
|
|
|
- for (const key in oldProps) {
|
|
|
- if (!isReservedProp(key) && !(key in newProps)) {
|
|
|
- hostPatchProp(
|
|
|
- el,
|
|
|
- key,
|
|
|
- oldProps[key],
|
|
|
- null,
|
|
|
- isSVG,
|
|
|
- vnode.children as VNode[],
|
|
|
- parentComponent,
|
|
|
- parentSuspense,
|
|
|
- unmountChildren
|
|
|
- )
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
if ('value' in newProps) {
|
|
|
hostPatchProp(el, 'value', oldProps.value, newProps.value)
|
|
|
}
|