PropType
是一个TypeScript的类型,用于指定组件props的类型,
这个类型,让你能够明确指定,你期望的props的类型。
import type { PropType } from 'vue'
const props = defineProps({
navData: {
type: Array as PropType<MenuRoute[]>,
default: () => [],
},
})
Array as PropType
是使用 PropType
来指定 navData
的类型应为 MenuRoute[]
,即:navData是一个元素是MenuRoute对象的数组
。
这样,如果你尝试传入一个不符合这个类型的值给 navData,TypeScript 将会在编译时报错,从而提供类型安全性。
PropType
可以接受多种类型的参数,包括:
基本类型,如 String,Number,Boolean 等。
对象类型,例如 { required: true, type: String, default: ‘default value’ }。
数组类型,例如 String[] 或 { type: String, default: () => [] }[]。
自定义类型,例如一个接口或者一个类。
defineProps(['list'])
Persons 是一个interface
defineProps<{list: Persons}>()
Persons 是一个interface
withDefaults(defineProps<{list?: Persons}>(),{
list: () => [{ id: 001, name: 'White', age: 18}]
})