fix(runtime-core): `in` operator returning `false` for built-in instance properties in `exposeProxy` (#6138)
fix #6137
This commit is contained in:
parent
018b850399
commit
32b51249bf
|
@ -203,7 +203,9 @@ describe('api: expose', () => {
|
|||
return h('div')
|
||||
},
|
||||
setup(_, { expose }) {
|
||||
expose()
|
||||
expose({
|
||||
foo: 42
|
||||
})
|
||||
return () => h(GrandChild, { ref: grandChildRef })
|
||||
}
|
||||
})
|
||||
|
@ -216,7 +218,10 @@ describe('api: expose', () => {
|
|||
}
|
||||
const root = nodeOps.createElement('div')
|
||||
render(h(Parent), root)
|
||||
expect('$el' in childRef.value).toBe(true)
|
||||
expect(childRef.value.$el.tag).toBe('div')
|
||||
expect('foo' in childRef.value).toBe(true)
|
||||
expect('$parent' in grandChildRef.value).toBe(true)
|
||||
expect(grandChildRef.value.$parent).toBe(childRef.value)
|
||||
expect(grandChildRef.value.$parent.$parent).toBe(grandChildRef.value.$root)
|
||||
})
|
||||
|
|
|
@ -945,6 +945,9 @@ export function getExposeProxy(instance: ComponentInternalInstance) {
|
|||
} else if (key in publicPropertiesMap) {
|
||||
return publicPropertiesMap[key](instance)
|
||||
}
|
||||
},
|
||||
has(target, key: string) {
|
||||
return key in target || key in publicPropertiesMap
|
||||
}
|
||||
}))
|
||||
)
|
||||
|
|
Loading…
Reference in New Issue