今天开发vue组件的过程中碰到一个vue的警告:Invalid prop: type check failed for prop "blob". Expected Expected Object, got Blob

//父组件

//子组件
blob: {
type: Object,
required: true
}
一开始,我认为Blob既然是类文件对象,那应该就是对象,是对象的话type写Object的话应该没错啊。但是看到报错提示,我就抱着试试的态度,把type改成了Blob,结果一看,控制台还是出现了警告,只是Blob和Object换了一个位置。

这个子组件数据类型问题真是让人抓狂,既然我指定的类型都不行,那我就不指定了还不行吗。
//不指定参数类型
props:["blob"]
修改代码后,运行,果然控制台没报警告了。 中午吃饭的时候和同事说了上午遇到的这个问题,同事说也可以把type指定为null。。回来试了下,牛逼,果然也可以,长知识了。
//设为null
blob: {
type: null,
required: true
}
总结
以后碰到子组件接收参数数据类型问题,可以这么解决:
- 检查父子组件的参数数据类型,确保类型一致;
- 不指定类型
- 设为null