Invalid prop: type check failed for prop ““. Expected Number | String, got Array
记录一个用Props传值时出现的BUG和原因.
·
项目场景:
二次封装ElAvatar, 父组件向子组件传值:
<div class="author_avatar">
<el-avatar :size="[author_avatar_size]"/>
</div>
props:{
author_avatar_size: {
type: [String, Number],
default: "large",
}
},
computed:{
author_avatar_size() {
return this.author_avatar_size;
},
}
问题描述
警告, 并且父组件传入的数值无效
Invalid prop: type check failed for prop "size".
Expected Number | String, got Array
at <ElAvatar size= ['large']>
//这里可以看到size被赋值了数组;
原因分析:
猜想是不是哪里多加了中括号导致判定成了数组.
那就只有这里了.
<el-avatar :size="[author_avatar_size]"/>
解决方案:
只调用一个计算属性的时候不要加中括号,会被判定为传入了数组类型;
改为:
<el-avatar :size="author_avatar_size"/>
即可.
更多推荐



所有评论(0)