瀏覽代碼

perf: 为createAsyncComponent函数增加类型推导 (#2967) (#2991)

invalid w 1 年之前
父節點
當前提交
a9017da294
共有 1 個文件被更改,包括 8 次插入1 次删除
  1. 8 1
      src/utils/factory/createAsyncComponent.tsx

+ 8 - 1
src/utils/factory/createAsyncComponent.tsx

@@ -1,4 +1,7 @@
 import {
+  AsyncComponentLoader,
+  Component,
+  ComponentPublicInstance,
   defineAsyncComponent,
   // FunctionalComponent, CSSProperties
 } from 'vue';
@@ -27,7 +30,11 @@ interface Options {
   retry?: boolean;
 }
 
-export function createAsyncComponent(loader: Fn, options: Options = {}) {
+export function createAsyncComponent<
+  T extends Component = {
+    new (): ComponentPublicInstance;
+  },
+>(loader: AsyncComponentLoader<T>, options: Options = {}) {
   const { size = 'small', delay = 100, timeout = 30000, loading = false, retry = true } = options;
   return defineAsyncComponent({
     loader,