1.创建接口属性定义:
export interface vmType{
[key:string]:any; //key的属性名是字符串类型;属性值是任意类型
label?:string; //label的属性值是可选的字符串类型
value?:number|string //value的属性值是一个联合类型,可以是数字也可以是字符串
placeholder?:string|string[] //placeholder的属性值是一个可选的字符串或者字符串数组
//如果是字符串,则表示单一的占位符选项,如果是字符串数组,则表示多个占位符选项
}
2.创建响应式对象定义属性:
const data = reactive<any>({
});
//any是一个泛型类型,表示data可以是任意类型
props: {
form: {
type: Object,
default: () => {
return {};
},
},
},
//default:()=>{
// return{};
//}
//是为form属性设置一个默认值,将函数作为默认值,当父组件没有传递form或者传递为undefined时,默认为空对象 {},防止在多个组件实例之间共享一个默认对象