问题

vue3中如果注册的是局部组件,那么props是有类型提示的,但是如果注册的是全局组件,props就没有类型提示了

失去了类型校验的并缺少了类型提示。

怎么办?

分析思路

同样是全局组件而在element-plus中的组件有提示呢?

参考资料

参考1:How to make VSCode recognize global component in Vue?

参考2:element-plus/global.d.ts at dev · element-plus/element-plus · GitHub

操作

在src目录下新建一个文件 global.d.ts

例子:

import XtxSkeleton from '@/components/XtxSkeleton/XtxSkeleton.vue'
// 参考:
declare module 'vue' {
  export interface GlobalComponents {
    XtxSkeleton: typeof XtxSkeleton
  }
}
export {}

在TS中定义了全局组件,有固定的套路让它具备提示效果

 

Logo

前往低代码交流专区

更多推荐