Skip to content

Commit 047b4b9

Browse files
committed
fix: 修复vuecomponent slots类型错误
1 parent bdd94c9 commit 047b4b9

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

example/module/basic/hello-world/hello-world.view.tsx

+6
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
import { Mut, VueComponent } from 'vue3-oop'
22
import { Button, Card, Input } from 'ant-design-vue'
33

4+
class A extends VueComponent {
5+
render() {
6+
return <div>111</div>
7+
}
8+
}
9+
410
export default class HelloWorldView extends VueComponent {
511
@Mut() count = 1
612

src/type.ts

+4-2
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ export type WithVSlots<T extends {}> = {
2626
}
2727

2828
export type WithSlotTypes<T extends {}> = Omit<SetupContext, 'slots'> & {
29-
slots: VueComponentProps<T>['v-slots']
29+
slots: NonNullable<VueComponentProps<T>['v-slots']>
3030
}
3131

3232
type ModelProps<T extends {}> = Exclude<
@@ -59,7 +59,9 @@ export type ComponentPropsObject<T extends {}> = {
5959
[U in KeysOfUnion<DistributiveOmit<T, 'slots'>>]-?: Prop<any>
6060
}
6161

62-
export type ComponentSlots<T extends { props: any }> = T['props']['v-slots']
62+
export type ComponentSlots<T extends { props: any }> = NonNullable<
63+
T['props']['v-slots']
64+
>
6365

6466
/** 为了阻止ts把不相关的类也解析到metadata数据中,用这个工具类型包装一下类 */
6567
export type ClassType<T> = T

0 commit comments

Comments
 (0)