types(runtime-core): provide valid type for default $emit (#1498)

This commit is contained in:
Carlos Rodrigues
2020-07-08 16:51:03 +01:00
committed by GitHub
parent f0394e2a61
commit 1e90605c15
4 changed files with 28 additions and 11 deletions

View File

@@ -12,6 +12,7 @@ import { isObject, isArray } from '@vue/shared'
import { RawSlots } from './componentSlots'
import { FunctionalComponent, Component } from './component'
import { ComponentOptions } from './componentOptions'
import { EmitsOptions } from './componentEmits'
// `h` is a more user-friendly version of `createVNode` that allows omitting the
// props when possible. It is intended for manually written render functions.
@@ -107,8 +108,8 @@ export function h(
): VNode
// functional component
export function h<P>(
type: FunctionalComponent<P>,
export function h<P, E extends EmitsOptions = {}>(
type: FunctionalComponent<P, E>,
props?: (RawProps & P) | ({} extends P ? null : never),
children?: RawChildren | RawSlots
): VNode