diff --git a/packages/uni-mp-vue/src/helpers/vOn.ts b/packages/uni-mp-vue/src/helpers/vOn.ts index ee63b99b0b51707a262dda420ca5c37fc4f23b40..56f948252a96ce004fd530e7e3dc41340ffefa2f 100644 --- a/packages/uni-mp-vue/src/helpers/vOn.ts +++ b/packages/uni-mp-vue/src/helpers/vOn.ts @@ -5,6 +5,7 @@ import { hasOwn, NOOP, isString, + isPromise, } from '@vue/shared' import { callWithAsyncErrorHandling, @@ -94,7 +95,11 @@ function createInvoker( if (bubbles.includes(e.type) && !eventSync) { setTimeout(invoke) } else { - return invoke() + const res = invoke() + if (e.type === 'input' && isPromise(res)) { + return + } + return res } } invoker.value = initialValue