mirror of https://github.com/vuejs/core.git
parent
4caabf2cb7
commit
be1e9bf03f
|
@ -749,4 +749,39 @@ describe('component props', () => {
|
|||
expect(`Invalid prop name: "ref"`).toHaveBeenWarned()
|
||||
expect(`Invalid prop name: "$foo"`).toHaveBeenWarned()
|
||||
})
|
||||
|
||||
// #5517
|
||||
test('events should not be props when component updating', async () => {
|
||||
let props: any
|
||||
function eventHandler() {}
|
||||
const foo = ref(1)
|
||||
|
||||
const Child = defineComponent({
|
||||
setup(_props) {
|
||||
props = _props
|
||||
},
|
||||
emits: ['event'],
|
||||
props: ['foo'],
|
||||
template: `<div>{{ foo }}</div>`,
|
||||
})
|
||||
|
||||
const Comp = defineComponent({
|
||||
setup() {
|
||||
return {
|
||||
foo,
|
||||
eventHandler,
|
||||
}
|
||||
},
|
||||
components: { Child },
|
||||
template: `<Child @event="eventHandler" :foo="foo" />`,
|
||||
})
|
||||
|
||||
const root = document.createElement('div')
|
||||
domRender(h(Comp), root)
|
||||
expect(props).not.toHaveProperty('onEvent')
|
||||
|
||||
foo.value++
|
||||
await nextTick()
|
||||
expect(props).not.toHaveProperty('onEvent')
|
||||
})
|
||||
})
|
||||
|
|
Loading…
Reference in New Issue