关于Invalid prop: type check failed for prop "row". Expected String, got Object.的问题及审查办法

项目是Vue的,基于elementUI的后台管理系统。

Invalid prop: type check failed for prop "row". Expected String, got Object.

昨天遇到了这么个错误,找了半天,网上也找了很久的资料,有很多跟我遇到的问题类似的有很多,但解决办法形似各样,没有我这种情况的,但还好经过我的不懈努力还是找到了原因。

一、我从父组件传递了一个值给子组件,在自组件接收的时候出现了类型设置错误,代码是这样的

父组件:

<!--修改子组件-->
<template slot-scope="props">
  <schoolchange :row="props.row"/>  //我在这里绑定了父组件的值,要传递给子组件
</template>

子组件:

//在data中接收传过来的值
props:{
    row:String,       
//在这里我把他写成了string类型,其实呢他是个对象object,把string改成object就不报错了,这里类型一定要和父组件的值的类型相同
}

二、我还遇到一种情况,也是这种类型的错误,原因就是你再data中存的数据可能声明的格式有问题,因为你可能存的数据格式跟需求是不一样的,后端要数字类型,你声明的时候是' ',那就会报这种错误。这个问题是我发现这种类型错误的的第二种情况。

data(){
    return{
        price:null,    //这个null声明的就是数字类型,如果后端需要的是数字类型,而你写的是'',那么就一定会报错
        goods:'' ,   //同理,''就是字符串,要求字段要什么类型你就声明什么类型
        form:{
            id:''    //这个就是对象写法
         },
        tableata:[]    //声明数组
    }
}

虽然功能好用,但是报错看着是真的难受,所以还是给纠正了。

猜你喜欢

转载自blog.csdn.net/xr510002594/article/details/82683693