Vue渲染时提示Property xxx未在实例上定义的警告如何解决?
问题根因
报错的核心原因是模板中访问的响应式属性未在data中提前声明,Vue要求所有需要在模板中使用的响应式属性必须在data选项中预先初始化,否则渲染时访问不存在的实例属性就会抛出该警告。
具体修复方案
- 补全data中缺失的
searchInfo属性声明
你模板中v-model绑定了searchInfo.id,但当前的data中只定义了lineList,没有声明searchInfo,在data中添加即可:
- 补全data中缺失的
data() { return { lineList: [], // 新增声明searchInfo及内部属性 searchInfo: { id: '' // 初始值可根据业务需求调整为null/undefined等 } } }
- 修正
el-option的value-key属性写法
你当前写的:value-key="id"会被Vue解析为读取实例上的id属性,若你要绑定的是字符串常量id,需要添加引号:
- 修正
<el-option v-for="item in lineList" :key="item.id" :label="item.name" :value="item.id" :value-key="'id'" />
- 给
created钩子添加async关键字
你在created中使用了await调用异步方法,没有async关键字会触发语法错误,修正后:
- 给
async created(){ await this.getLineList() }
内容的提问来源于stack exchange,提问作者supine win
相关产品推荐
相关产品推荐

