diff --git a/packages/runtime-core/src/componentOptions.ts b/packages/runtime-core/src/componentOptions.ts index e8fa676a25c..dd6cee61ca3 100644 --- a/packages/runtime-core/src/componentOptions.ts +++ b/packages/runtime-core/src/componentOptions.ts @@ -140,7 +140,7 @@ export interface ComponentOptionsBase< // Luckily `render()` doesn't need any arguments nor does it care about return // type. render?: Function - components?: Record + components?: Record directives?: Record inheritAttrs?: boolean emits?: (E | EE[]) & ThisType diff --git a/test-dts/component.test-d.ts b/test-dts/component.test-d.ts index d8d3934b964..891a691ddb6 100644 --- a/test-dts/component.test-d.ts +++ b/test-dts/component.test-d.ts @@ -11,6 +11,11 @@ import { FunctionalComponent, ComponentPublicInstance, toRefs, + KeepAlive, + Teleport, + Suspense, + Transition, + TransitionGroup, IsAny } from './index' @@ -476,3 +481,12 @@ describe('class', () => { expectType(props.foo) }) + + +describe('Register built-in components Teleport, Transition, TransitionGroup, Suspense and KeepAlive should work', () => { + defineComponent({ components: { Teleport } }) + defineComponent({ components: { Suspense } }) + defineComponent({ components: { KeepAlive } }) + defineComponent({ components: { Transition } }) + defineComponent({ components: { TransitionGroup } }) +});