Vue—— Error in v-on handler: “TypeError: Cannot create property ‘display_name‘ on string‘“

这篇博客讨论了Vue组件中使用v-select时的数据绑定和方法调用问题。作者指出了一个常见的错误,即直接修改`identity_claim.display_name`,并提供了正确的解决方案,即通过设置`this.identity_claim`来更新整个对象。这个例子涉及到Vue的响应式系统和数据模型的正确更新,对于理解和避免Vue应用中的常见陷阱很有帮助。
摘要由CSDN通过智能技术生成

在这里插入图片描述

<v-select
    v-model="identity_claim"
    :items="identity_claims"
    item-text="display_name"
    item-value="name"
    :readonly="is_readonly"
    :disabled="is_readonly"
    required
    :rules="rules.notNullRules"
    @change="identityChange(identity_claim)"
  >
  </v-select>

之前的错误写法:

export default {
	data(){
	  identity_claim: { display_name: "用户ID(默认)" },
      identity_claims: [],
	},
	methods:{
		identityChange(identity) {
	      this.identity_claim.display_name identity;
       }
    }
}

正确写法:

export default {
	data(){
	  identity_claim: { display_name: "用户ID(默认)" },
      identity_claims: [],
	},
	methods:{
		identityChange(identity) {
	      this.identity_claim = {
	        display_name: identity
	      };
       }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值