|
|
@@ -1,6 +1,6 @@
|
|
|
import { type ObjectEmitsOptions, baseEmit } from '@vue/runtime-dom'
|
|
|
import type { VaporComponent, VaporComponentInstance } from './component'
|
|
|
-import { EMPTY_OBJ, hasOwn, isArray, isOn } from '@vue/shared'
|
|
|
+import { EMPTY_OBJ, hasOwn, isArray, isFunction, isOn } from '@vue/shared'
|
|
|
import { type RawProps, resolveSource } from './componentProps'
|
|
|
import { interopKey } from './vdomInterop'
|
|
|
|
|
|
@@ -49,7 +49,8 @@ function propGetter(rawProps: RawProps, key: string) {
|
|
|
const source = resolveSource(dynamicSources[i])
|
|
|
if (hasOwn(source, key))
|
|
|
// for props passed from VDOM component, no need to resolve
|
|
|
- return dynamicSources[interopKey] || isOn(key)
|
|
|
+ return dynamicSources[interopKey] ||
|
|
|
+ (isOn(key) && isFunction(dynamicSources[i]))
|
|
|
? source[key]
|
|
|
: resolveSource(source[key])
|
|
|
}
|