瀏覽代碼

types: use RenderFunction type (#342)

Dmitry Sharshakov 6 年之前
父節點
當前提交
1f4937c2fd
共有 2 個文件被更改,包括 5 次插入6 次删除
  1. 2 3
      packages/runtime-core/src/apiCreateComponent.ts
  2. 3 3
      packages/runtime-core/src/apiOptions.ts

+ 2 - 3
packages/runtime-core/src/apiCreateComponent.ts

@@ -5,8 +5,7 @@ import {
   ComponentOptionsWithArrayProps,
   ComponentOptionsWithObjectProps
 } from './apiOptions'
-import { SetupContext } from './component'
-import { VNodeChild } from './vnode'
+import { SetupContext, RenderFunction } from './component'
 import { ComponentPublicInstance } from './componentProxy'
 import { ExtractPropTypes } from './componentProps'
 import { isFunction } from '@vue/shared'
@@ -14,7 +13,7 @@ import { isFunction } from '@vue/shared'
 // overload 1: direct setup function
 // (uses user defined props interface)
 export function createComponent<Props, RawBindings = object>(
-  setup: (props: Props, ctx: SetupContext) => RawBindings | (() => VNodeChild)
+  setup: (props: Props, ctx: SetupContext) => RawBindings | RenderFunction
 ): {
   new (): ComponentPublicInstance<Props, RawBindings>
 }

+ 3 - 3
packages/runtime-core/src/apiOptions.ts

@@ -2,7 +2,8 @@ import {
   ComponentInternalInstance,
   Data,
   Component,
-  SetupContext
+  SetupContext,
+  RenderFunction
 } from './component'
 import {
   isFunction,
@@ -32,7 +33,6 @@ import {
 import { reactive } from '@vue/reactivity'
 import { ComponentObjectPropsOptions, ExtractPropTypes } from './componentProps'
 import { Directive } from './directives'
-import { VNodeChild } from './vnode'
 import { ComponentPublicInstance } from './componentProxy'
 import { warn } from './warning'
 
@@ -47,7 +47,7 @@ interface ComponentOptionsBase<
     this: null,
     props: Props,
     ctx: SetupContext
-  ) => RawBindings | (() => VNodeChild) | void
+  ) => RawBindings | RenderFunction | void
   name?: string
   template?: string
   // Note: we are intentionally using the signature-less `Function` type here