【Vue】Cannot set reactive property on undefined,null,or primitive value:undefined

这篇具有很好参考价值的文章主要介绍了【Vue】Cannot set reactive property on undefined,null,or primitive value:undefined。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、背景描述

技术栈:vue + element

报错内容:Cannot set reactive property on undefined, null, or primitive value:undefined

如下图所示:

cannot set reactive property on undefined, null, or primitive value: undefin,异常解决方案,Vue,vue.js,javascript,前端,Powered by 金山文档

二、报错原因

根据报错内容翻译一下,就是不能对 undefined,null 或者原始值为 undefined 的属性设置值。大白话就是不能对字段为 undefined,null 进行赋值,vue 是双向数据绑定。

总的来说,我们就是不能对未知的对象进行渲染。

为什么会出现这个错误内容呢?

在我的代码中主要是点击某一个按钮后弹窗显示出来的页面在渲染之前会先调用API进行数据查询,根据查询到的内容渲染到页面,但是API接口返回的数据为空,然后把这个空对象赋值给了已经有初始化值的form 了,在form进行渲染的时候就会出现这个错误。每次输入值都会报这样的错误。

关键的报错代码如下:

cannot set reactive property on undefined, null, or primitive value: undefin,异常解决方案,Vue,vue.js,javascript,前端,Powered by 金山文档
cannot set reactive property on undefined, null, or primitive value: undefin,异常解决方案,Vue,vue.js,javascript,前端,Powered by 金山文档
cannot set reactive property on undefined, null, or primitive value: undefin,异常解决方案,Vue,vue.js,javascript,前端,Powered by 金山文档

其他可能出现此报错内容的原因还有:

v-model绑定的数据

<el-form-item label="公司名称">
<el-input v-model="form['名称']"></el-input>
</el-form-item>

或者一整个表单:model 绑定的数据

<el-form :model="form" label-width="80px" v-if="usertype === 'candidate'">

而本来的form在data中定义的应该是一个对象或默认值。

form 虽然初始化是个对象但是在挂载时被函数返回的数据给赋值了,比如:form = res.data; // 后台如果出错返回一个空值此时等于 form = ''

三、解决方案

对API返回的数据进行非空判断即可。以下为正确的代码:

cannot set reactive property on undefined, null, or primitive value: undefin,异常解决方案,Vue,vue.js,javascript,前端,Powered by 金山文档

完结!文章来源地址https://www.toymoban.com/news/detail-799734.html

到了这里,关于【Vue】Cannot set reactive property on undefined,null,or primitive value:undefined的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Vite】Vite切换版本(Vite+vue3)报错 [vite] Internal server error: Cannot set property ‘id‘ of undefined

    Vue3+vite的项目,在全局安装新的Vite版本后,一直报下图错误。 报错信息 通过很多方式没有解决,最后发现是Vite版本的问题,因为Vue是从脚手架中引入的 查看package.json和package.lock.json区别 修改 将 package.json 中vite的版本号固定后,安装( npm install )发现仍有问题 最终解决 查

    2024年02月16日
    浏览(49)
  • 【JS】如何解决Cannot set properties of undefined

    TypeError: Cannot set properties of undefined 类型错误:无法设置未定义的属性 问题解析 当前的是当前对象或者数组是undefined,但是却用来引用属性或者索引 比如下面两种情况 或者是当前的value值不是我们显式声明的undefined,而是运算之后得到undefined,之后我们再去用它 解决方案 问

    2024年02月16日
    浏览(64)
  • Cannot set properties of null (setting ‘onclick‘)问题解决方案

    个人学习过程中遇到“Uncaught TypeError: Cannot set properties of null (setting ‘onclick’)”问题,分享下 html代码: 运行结果: 问题原因:getElementById方法无法找到所写的id名(空格也被认为是id名的一部分了) 修改前代码: 修改后: 运行成功!

    2024年02月16日
    浏览(48)
  • Uncaught TypeError: Cannot set properties of null (setting ‘innerText‘)解决方法

    昨天用js写了一个随机抽奖系统出现了Uncaught TypeError: Cannot set properties of null (setting \\\'innerText\\\') 这个报错意思是无法读取nll属性的\\\'innerText\\\',即找不到你想要将所写的HTML代码插入地方 原因: 浏览器加载页面是从上往下,会将HTML文档解析为一个DOM树,当执行到js代码块中的innet

    2024年02月16日
    浏览(47)
  • Uncaught TypeError TypeError: Cannot set properties of null (setting ‘onclick‘)的解决办法

    我下面用代码示例一下。 这个代码你读一下,好像可以实现我们想要的效果,实现点击相关的div盒子实现其背景颜色变颜色的效果,但是一运行下来,在调试控制台里就会出现Uncaught TypeError TypeError: Cannot set properties of null (setting \\\'onclick\\\')这样的报错------未捕获的类型错误: 无

    2024年02月02日
    浏览(42)
  • JS常见报错解决办法:Uncaught TypeError: Cannot set properties of null (setting ‘innerHTML‘)

    Uncaught TypeError: Cannot set properties of null (setting ‘innerHTML’)意思是, 未捕获类型错误:无法设置空属性(设置“innerHTML”), 也就是说**.innerHTM**前的对象内容是空或null。 1、举个例子,我需要用js渲染HTML网页的数据。 报错: Uncaught TypeError: Cannot set properties of null (setting ‘in

    2024年02月16日
    浏览(46)
  • 关于微信小程序没定义query却还报错TypeError: Cannot set property ‘query‘ of undefined

    最开始以为 #ifndef 和 #endif  这是注释  看见下面写了个vue3,把这个vue3改成了vue2, 然后然后最重要的是,改了自己又忘了自己改了这里,折磨了不知道多了多少minutes,又记起来了,然后就解决啦~~~~ 然后查了一下这是啥意思,发现这是一种预处理指令 ifdef = if define 意思是如

    2024年02月14日
    浏览(77)
  • Vue.js 报错:Cannot read property ‘validate‘ of undefined“

    起因,是我将elemnt-ui登录,默认放在mounted()函数里面,导致vue初始化就调用这个函数。 找了网上,有以下错误原因: 1.一个是你 ref写错 了,导致获取不了这个表单dom,我这显然不是。 2. 我们vue初始化时,element-ui中 validate()函数并没有绑定到this.$refs.eemployee中,这导致我们一获

    2024年02月10日
    浏览(44)
  • vue项目中Cannot read properties of undefined (reading ‘getters‘)问题

    在vuex的index.js中引入分割的模块 import {toastStatus} from \\\"./toastStatus\\\"; 会报如下错误   toastStatus的index.js中是用export default整体导出的,但是在引用的时候用了按需导入的格式,所以报错 将花括号删除即可 import toastStatus from \\\"./toastStatus\\\";

    2024年02月12日
    浏览(50)
  • Vue报错 Cannot read properties of undefined (reading ‘websiteDomains‘) 解决办法

    浏览器控制台如下报错: Unchecked runtime.lastError: The message port closed before a response was received. Uncaught (in promise) TypeError: Cannot read properties of undefined (reading \\\'websiteDomains\\\')     at xl-content.js:1:100558 此问题困扰了很久,偶然看到一篇博文,说是迅雷扩展问题 要想解决这个bug最有效的方

    2024年04月24日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包