wip: delete keys from props proxy when needed
This commit is contained in:
parent
d75d21c1a1
commit
e9a3fa60d6
@ -12,6 +12,7 @@ import {
|
||||
} from '@vue/shared'
|
||||
import { warn } from './warning'
|
||||
import { Data, ComponentInstance } from './component'
|
||||
import { FULL_PROPS } from './patchFlags'
|
||||
|
||||
export type ComponentPropsOptions<P = Data> = {
|
||||
[K in keyof P]: Prop<P[K]> | null
|
||||
@ -147,6 +148,18 @@ export function resolveProps(
|
||||
attrs = props
|
||||
}
|
||||
|
||||
// in case of dynamic props, check if we need to delete keys from
|
||||
// the props proxy
|
||||
const { patchFlag } = instance.vnode
|
||||
if (propsProxy !== null && (patchFlag === 0 || patchFlag & FULL_PROPS)) {
|
||||
const rawInitialProps = unwrap(propsProxy)
|
||||
for (const key in rawInitialProps) {
|
||||
if (!props.hasOwnProperty(key)) {
|
||||
delete propsProxy[key]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// lock immutable
|
||||
lock()
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user