账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    vue 父组件传递来的值,一个字段总是报null
    42
    0

    问题描述

    从父组件传递到子组件的值,resumeData,是一个对象,渲染成功,但是控制台总是报其中的一个字段是null,

    两个报错

    1. [Vue warn]: Error in render: "TypeError: Cannot read property 'fullName' of null"
    2. `vue.runtime.esm.js?2b0e:1737 TypeError: Cannot read property 'fullName' of null
      at Proxy.render (eval at ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules\.cache\vue-loader","cacheIdentifier":"6319bb7e-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/center/lecture/components/edittab-comp/Resume.vue?vue&type=template&id=209dce5a&scoped=true& (0.js:311), <anonymous>:379:41)
      at VueComponent.Vue._render (vue.runtime.esm.js?2b0e:4540)
      at VueComponent.updateComponent (vue.runtime.esm.js?2b0e:2784)
      at Watcher.get (vue.runtime.esm.js?2b0e:3138)
      at new Watcher (vue.runtime.esm.js?2b0e:3127)
      at mountComponent (vue.runtime.esm.js?2b0e:2791)
      at VueComponent.Vue.$mount (vue.runtime.esm.js?2b0e:7995)
      at init (vue.runtime.esm.js?2b0e:4133)
      at createComponent (vue.runtime.esm.js?2b0e:5604)
      at createElm (vue.runtime.esm.js?2b0e:5551)`

    相关代码

    • template代码
     <el-form 
        ref="resumeForm" 
        :model="resumeData" 
        :rules="resumeRules" 
        label-width="120px">
    
          <!-- 姓名 -->
          <el-form-item label="姓名" prop="fullName">
            <el-input v-model="resumeData.fullName" placeholder="请输入真实姓名">
            </el-input>
          </el-form-item>
    
          <!-- 性别 -->
          <el-form-item label="性别" prop="sex">
            <el-radio-group v-model="resumeData.sex">
              <el-radio :label="1">男</el-radio>
              <el-radio :label="0">女</el-radio>
            </el-radio-group>
          </el-form-item>
          ……
       </el-form>
    • script代码
    export default {
      name: "Resume",
      props: {
        resumeData:{
          type:Object,
          default:{}
        }
      },
    ……
    created() {
        this.formInit();
      },
      methods: {
        formInit() {
          console.log(this.resumeData); // 打印结果:null
        },
    • resumeData数据结构
    resumeEntity: {resumeId: "201811071060145813156925440", openId: "ohu7T06ir-fwh_advr1NEnzCvaps", fullName: "fsdf",…}
    authenticationTime: null
    company: "fsd"
    companyAddress: null
    companyLevel: null
    companyScore: null
    course1: "["关节","美学"]"
    course2: "["托槽定位与粘接"]"
    createTime: "2018-11-07 20:23:52"
    department: "fsdf"
    education: null
    fullName: "fsdf"
    idCard: null
    isbu: 1
    mail: "fsd"
    openId: "ohu7T06ir-fwh_advr1NEnzCvaps"
    phone: "fsd "
    portrait: "fsdfas "
    position: "fsdf"
    positionScore: null
    proveDesc: null
    proveImg: "fds"
    resumeId: "201811071060145813156925440"
    resumeState: -1
    resumeVersion: "v1"
    score: null
    serviceRanking: null
    sex: 1
    titleLevel: "fsdf"
    titleScore: null
    updateTime: "2018-11-07 20:23:52"
    wechat: "fsdf"

    问题:

    表单中fullName字段渲染出来了,为什么说是null?

    1
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • 秋ㄨ落尽 普通会员 1楼

      在 Vue 中,父组件传递的值总是为 null 的原因可能有以下几点:

      1. 父组件中的数据绑定错误:父组件可能在数据绑定中使用了错误的属性或方法,导致传递过来的值为 null。请检查数据绑定是否正确。

      2. 没有正确使用数组字面量:如果你在数组字面量中使用了 null,那么传递过来的值就是 null。请检查数组字面量是否正确。

      3. 父组件的异步操作导致的值为空:如果你的父组件正在进行异步操作,那么可能在操作完成后返回了 null。请检查异步操作的返回值。

      4. 父组件的 props 中的值是 null:如果父组件传递过来的 props 中的值为 null,那么在父组件的组件数据中将不会看到这个值。

      5. 父组件传递过来的值没有被正确赋值:请确保在子组件中正确地接收并赋值了父组件传递过来的值。

      如果你已经检查过所有可能的原因,但仍然无法解决问题,请提供更多的信息,例如父组件的代码、子组件的代码以及你尝试解决问题的详细步骤,这将有助于我们更好地帮助你。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部