路过灬蜻蜓
路过灬蜻蜓
  • 发布:2020-08-26 11:22
  • 更新:2022-06-27 16:49
  • 阅读:1130

【报Bug】子组件中对象类型的props,修改属性后无法同步更新其引用对象

分类:uni-app

产品分类: uniapp/小程序/微信

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: Win10

HBuilderX类型: 正式

HBuilderX版本号: 2.8.8

第三方开发者工具版本号: 1.03.2006090

基础库版本号: 2.9.2

项目创建方式: HBuilderX

示例代码:

父组件(页面)

<template>  
  <view>  
    <form>  
        <view class="cu-form-group margin-top">  
        <view class="title">父组件</view>  
        <input v-model="item.val" placeholder="值"></input>  
      </view>  
      <qn-item :item="item" />  
    </form>  
  </view>  
</template>  

<script>  
export default {  
  data() {  
    return {  
      item: {  
        id: 'name',  
        title: '姓名',  
        val: ''  
      }  
    }  
  },  
  methods: {  
  }  
}  
</script>

子组件 qn-item

<template>  
  <view class="cu-form-group margin-top">  
    <view class="title">子组件</view>  
    <input v-model="item.val" placeholder="值"></input>  
  </view>  
</template>  

<script>  
export default {  
  components: {},  
  props: {  
    item: {  
      type: Object,  
      default: () => {  
        return {}  
      }  
    }  
  },  
  data () {  
    return {  

    }  
  },  
  computed: {},  
  watch: {  

  },  
  created () {},  
  mounted () {},  
  methods: {  
  }  
}  
</script>

操作步骤:

在子组件中input双向绑定item.val,输入值并没有影响到父组件中的源对象

预期结果:

子组件input值变化后,父组件的源对象item应该有变化

实际结果:

在子组件中input双向绑定item.val,输入值并没有影响到父组件中的源对象

bug描述:

子组件中定义一个对象类型的props,按道理可以直接在子组件中修改对象的属性,并且因为是对象引用,他会同步到父组件中的源对象。
在H5环境下确实也是这个效果,但是编译成小程序后就没用,不知道是什么原因。

2020-08-26 11:22 负责人:无 分享
已邀请:
语冰鹅

语冰鹅 - 70后IT男

请问最后是怎么解决的?我也遇到了这样的问题

要回复问题请先登录注册