ts报错“对象可能为“未定义”

interface Tree {id: numberlabel: stringchildren?: Tree[]
}
const addData = ref<Tree>()
const append = (data: Tree) => addData.value = data
}
const addChildree = () => {const newChild = { id: id++, label: input.value, children: [] }if (!addData.value.children) { //对象可能为“未定义addData.value.children = []}addData.value.children.push(newChild)dataSource.value = [...dataSource.value]dialogVisible.value = false
}

查资料说问题原因是当使用可选属性时,会报错 参数可能未定义 这边children是可选属性

给出的解决方法

在tsconfig.json中修改strict属性为false,取消严格模式 实测是可以解决这个问题

这时候我想报错的缘故是因为有可选属性 才会报错 所以我换了个必须有的属性测试

还是会报同样的错误 这时候我就觉得不是属性的缘故 应该是对象的缘故 查看定义的addData

// 修前
const addData = ref<Tree>()
// 修改后 ref初始化时为 {}
const addData = ref<Tree>({})

对象未定义的问题解决了 出现了新的问题
const addData = ref<Tree>({id: 0,label: ''
})

给上默认值就可以了

ts报错“对象可能为“未定义”相关推荐

  1. VS远程开发(远程调试)编译报错:对‘xxx’未定义的引用(设置库依赖顺序)(已解决)pthread(项目-->属性-->链接器-->输入-->库依赖项)

    如图在VS中对linux进行远程开发时,编译报错: 貌似是因为在代码中使用了pthread.h的函数,链接库依赖顺序出了问题,我在ubuntu里手动使用gcc main.c -lpthread -o ...

  2. ubuntu 编译c程序报错:对‘pthread_create’未定义的引用

    在ubuntu里编译c多线程代码,命名包含了头文件<pthread.h>,却还是编译报错,说对'pthread_create'未定义的引用 原因: pthread库不是Linux系统默认的 ...

  3. thinkphp开启子域名无法正常访问_解决TP6报错“当前访问路由未定义或不匹配”...

    如果是报路由错误,则说明启用了路由控制,那么所有被访问的页面都需要配置路由,否则将无法访问. 例如: 在浏览器中运行http://hml.tp6.com/admin/getlog 报错:当前访问路由未 ...

  4. 页面报错:无法设置未定义或 null 引用的属性“*****”

    可能的原因: 1:代码写错了 2:在each循环里面重复定义多次一个变量,导致出现这种情况!!! 3:浏览器的问题.刚刚碰到的就是href未定义,结果换一个浏览器就可以 4:js的引用顺序问题,比如我 ...

  5. 【Javascript报错】无法获取未定义或 null 引用的属性“replace“

    今天在处理前端字符串替换的问题中 使用了这段代码: str.replace("xx","xx") 报错 >>  是因为str没获取到 str = u ...

  6. 使用阿里妈妈字体图标库,ie10报错,无法获取未定义或 null 引用的属性“firstChild”

    前因:公司优化页面,要把彩色图片,换成字体图标. 结果:更换完后,测试发现ie10,ie9都会报错,但demo测试是没有问题的. 测试:console.log(target)为null,找到docum ...

  7. 解决vscode红色波浪线的ts报错:找不到模块“store” ts(2307),不识别@别名路径

    使用TS构建vue3项目时,如果使用例如 import { store } from '@/store/user' 发生红色波浪线报错,说明ts不识别@别名,可以修改 tsconfig.json 文件 ...

  8. TS报错:TS2532: Object is possibly ‘undefined‘.

    TS2532: Object is possibly 'undefined',提示对象可能未定义,但其实是有值的,页面也能正常显示,但是对于我来说,看见报错爆红实在无法忍受 解决方法:在后面使用!非空 ...

  9. Vue Language Features (Volar) 会引起ts报错

    困扰了好一阵子的问题. {"name": "test","version": "0.1.0","private ...

最新文章

  1. PHP如何更好的利用PHPstorm的自动提示
  2. 炸裂!微软重磅推出混合现实平台 Mesh、基于 Excel 的低代码语言 Power Fx,Ignite 2021 太精彩!...
  3. Spark快速上手-WordCount案例
  4. java.lang.UnsatisfiedLinkError:org.apache.hadoop.io.nativeio.NativeIO$Windows.access0
  5. opencv python轻松入门_OpenCV轻松入门 面向Python
  6. jdbc的小结 mysql
  7. 安卓开发大全、系列文章、精品教程
  8. 数据结构笔记(二十三)--哈夫曼树
  9. Android音视频开发学习——硬解码
  10. [混音插件]板岩混响效果器
  11. [RK3288][Android6.0] 调试笔记 --- 播放搜狐视频会Crash问题
  12. 谈 DevOps 自动化时,也应该考虑到 SOX 等法案
  13. chrome 查看日志
  14. 麻雀要革命2 第8节:莽撞的麻雀小姐
  15. 渗透之——使用Metasploit编写绕过DEP渗透模块
  16. Opencv之cvtColor
  17. 老男孩读PCIe之一:从PCIe速度说起
  18. 文件 组织 服务器 数据库,nc文件服务器 数据库文件
  19. 杂七杂八 | Disco Diffusion
  20. HadoopHbaseZookeeper集群

热门文章

  1. 视频教程-实战Go语言:多人聊天室-Go语言
  2. 组合(Composite)模式
  3. Lesson2 Week 1 Quiz - Practical aspects of deep learning(第一周测验 - 深度学习的实践)
  4. 4部C4D动画短片视觉、叙事完美融合
  5. 【小程序基础】小程序内置组件
  6. 二、Linux系统安装
  7. linux 打开网页 用curl_Linux终端访问网页
  8. Symbian开发环境
  9. 力扣(LeetCode)799. 香槟塔(C++)
  10. 求图纸形心的数据预处理与形心计算代码:输入多个矩形的坐标和长度宽度,计算它们的形心坐标