fix(vue-app): only overwrite leave listener when none provided or without done arg (#6264)

This commit is contained in:
Pim 2019-08-21 13:36:52 +02:00 committed by Pooya Parsa
parent 3ca7eca7cf
commit 662a409056
1 changed files with 10 additions and 5 deletions

View File

@ -56,12 +56,17 @@ export default {
// make sure that leave is called asynchronous (fix #5703)
if (transition.css === false) {
const leave = listeners.leave
listeners.leave = (el, done) => {
if (leave) {
leave.call(_parent, el)
}
_parent.$nextTick(done)
// only add leave listener when user didnt provide one
// or when it misses the done argument
if (!leave || leave.length < 2) {
listeners.leave = (el, done) => {
if (leave) {
leave.call(_parent, el)
}
_parent.$nextTick(done)
}
}
}