问题背景
父组件传递给子组件的Prop是一个对象,多个父组件都要用子组件,但是不是每一个父组件都会传Prop,所以给子组件设置了一个默认值。
@Prop({
default:
{
wraper: 'ai-car',
preBtn: 'ai-carousel',
nextBtn: 'ai-carousel__btn',
imgWrap: 'ai-carousel__inner',
ulWrap: 'ai-carousel__items',
listItem: 'ai-carousel__item',
}
})
styleObj!: any
报错manageUsage:218 [Vue warn]: Invalid default value for prop "currentProject": Props with type Object/Array must use a factory function to return the default value.found in
修改
@Prop({
default: () => {
return {
wraper: 'ai-carousel',
preBtn: 'ai-carousel__btn--left',
nextBtn: 'ai-carousel__btn--right',
imgWrap: 'ai-carousel__inner',
ulWrap: 'ai-carousel__items',
listItem: 'ai-carousel__item',
}
},
})
styleObj!: any
// 如果是数组也可以写成箭头函数的形式
@Prop({
default: () => [],
})
Arr!: any