天天看点

vue 解决父子组件传值,子组件接收不到的问题

element ui 封装个文件上传组件,发现利用父子组件传值死活传不过去,搞了一天。。。

关键代码如下:

//子组件接收
 props: {
    filePath: {
      default: '',
      type: String
    }
}


//父组件传值

<FileUpload v-model="form.zlCertFileUrl" />
           

死活过不来,最后试了好久,才发现,子组件默认接收的key 是value。。。。于是乎就有了一下两种写法:父组件不指定key,那么子组件只能使用value接收; 父组件指定key 子组件使用特定的key接收。。。

如下两种代码:

// 父组件传值 
// 不指定key v-model="form.zlCertFileUrl" ; 
// 指定key为filePath v-bind:filePath="form.zlCertFileUrl"
 <FileUpload v-model="form.zlCertFileUrl" v-bind:filePath="form.zlCertFileUrl" @uploadSuccess="zlCertUploadSuccess"/>

//子组件接收

  props: {
    filePath: {
      default: '',
      type: String
    },
    value: {
      default: '',
      type: String
    }
  },