在 Vue 3.2 中,<script setup>可以用来简化组件的编写,但是在导出组件类型时,可能会出现编译时类型错误的问题。
如果你在 <script setup> 中声明了一个组件类型,并将其导出,可能会收到以下错误:
Error: [VueCompilerError] Exported `type` cannot be a subclass of `Vue`.
这个错误是由于 TypeScript 在处理组件类型时,会将其视为一个 Vue 子类。但是,在 <script setup> 中,组件类型被视为一个“基类”,因此不支持继承自 Vue。因此,你需要对类型做一些修改来解决这个问题。
一种解决方法是使用 defineComponent 函数来定义组件类型,而不是继承自 Vue。例如:
