You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue组件prop校验报错:modelName预期String却得到Undefined如何解决?

问题根因

你在绑定modelName属性时误用了v-bind(即属性名前的:前缀)。按照Vue的语法规则,带v-bind前缀的属性值会被当做当前组件作用域下的JS表达式解析,你写的NewParticipant会被识别为组件变量,你当前作用域下没有定义该变量,所以实际传入SelectableAttribute组件的值为undefined,触发类型校验报错。

修复方案

两种任选其一即可:

  • 去掉model-name前的v-bind前缀,直接走静态字符串传入逻辑:
<SelectableAttribute
    :attr-name="props2.row.fieldClass"
    :attr-id="itemProps.row.id"
    :model-id="props.row.id"
    model-name="NewParticipant"
>
  • 保留v-bind前缀的话,给值套一层单引号,显式声明为字符串表达式:
:model-name="'NewParticipant'"
额外排查点

你当前引用的组件名为SelectableAttribute,但提供的组件文件名为SelectedAttributes.vue,请确认组件注册时的名称拼写、单复数是否匹配,避免命名不一致导致的其他异常。

内容的提问来源于stack exchange,提问作者cbln

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 11:15:05