document.querySelector('.main-table').setAttribute('height', '300px');
如上,我要设置某元素的高度,但typescript提示 Object is possibly ‘null’,是因为可能不存在选择元素的情况。

解决方案一

最正确的解决方案,就是加null的判断

const table = document.querySelector('.main-table');
if (table) {table.setAttribute('height', '300px');
}

解决方案二

使用断言方式,当然这是你能保证元素必定存在的情况

(document.querySelector('.main-table') as Element).setAttribute('height', '300px');

解决方案三

这和解决方案原理一样,要判断null情况,但写法简单点,当然这是关闭eslint的情况下,否则eslint会提示错误

document.querySelector('.main-table')?.setAttribute('height', '300px');

这里使用了 ?. 符号,相当于&&,意思是先判断?前面的对象是否存在,存在情况下再执行后面的方法;
使用下面代码也是可以的:

const table = document.querySelector('.main-table');
table && table.setAttribute('height', '300px');

兄弟,点个赞再走!

typescript 提示 Object is possibly ‘null‘ 的N种解决方法相关推荐

  1. typescript 提示 Object is possibly null

    Object is possibly null: 对象可能是null 分析:localStorage.getItem("SET_HISTORY_KEY") 这个值有可能为空,所以再 ...

  2. 解决typescript 提示 Object is possibly ‘null‘

    1.多加一层判断 let animal =cat || null if(animal){} 2.断言方式(animal as Cat) 3. ?. 4.报错类型设为any

  3. 关于出现org.hibernate.TransientObjectException: The given object has a null identifier: 错误的解决方法

    关于出现org.hibernate.TransientObjectException: The given object has a null identifier: 错误的解决方法 参考文章: (1 ...

  4. WORD Application.Documents.Open函数返回null的一种解决方法

    WORD Application.Documents.Open函数返回null的一种解决方法 参考文章: (1)WORD Application.Documents.Open函数返回null的一种解决 ...

  5. 异步 HttpContext.Current 为空null 另一种解决方法

    异步 HttpContext.Current 为空null 另一种解决方法 参考文章: (1)异步 HttpContext.Current 为空null 另一种解决方法 (2)https://www. ...

  6. 需要计算机安装msxml,Win7安装Office2010提示让安装MSXML组件的五种解决方法

    在安装office2010的的时候,有时候会提示"安装错误.若要安装Microsoft office2010 需要在计算机上安装 MSXML版本6.10.1129.0.请安装此组件,然后重新 ...

  7. Win7 10安装Office2010提示让安装MSXML组件的五种解决方法

    在安装office2010的的时候,有时候会提示"安装错误.若要安装Microsoft office2010 需要在计算机上安装 MSXML版本6.10.1129.0.请安装此组件,然后重新 ...

  8. php访问参数错误,提示“无法访问参数错误”的4种解决方法

    直接拔下usb设备而不是点击弹出.直接拔下usb设备会损坏甚至破坏扇区,是导致usb设备参数错误的原因之一.切记尽量使用"安全弹出usb"功能. usb接口问题.usb接口是电脑和 ...

  9. Win10插入耳机后无声音,声音问题疑难解答提示“外设似乎没有插上” 三种解决方法

    方法一 一.打开声音问题疑难解答进行检测 若检测结果如下: 二.确认声音为 windows 默认而不是无声 个性化–主题–高级声音设置–windows默认 三.确认声卡已安装且为最新版本(重点) 1. ...

最新文章

  1. 在CentOS 6.9 x86_64的nginx 1.12.2上安装第三方模块set-misc-nginx-module实录
  2. Python设计模式-命令模式
  3. win7拒绝访问_win7系统提示无法访问application data如何解决
  4. 计算星期c语言编码,[转载]计算任何一天是星期几的C语言源代码.
  5. [转载] Java9发布回顾Java 8的十大新特性
  6. quartz 每30秒执行一次_30条一眼就让人心动的文案:每一次黄昏,都是坠入思念的夜深。...
  7. 用JQuery操作元素的style属性
  8. 用户领域 API 监控和代码注入检测
  9. 27. Remove Element
  10. linux x中文显示,01_Linux系统系统语言查询,设置Xshell工具,中文显示,测试Xshell中文字符显示,Linux中文显示乱码设置...
  11. Java验收项目清单_软件验收管理工作内容
  12. 浅析ARM公司在物联网领域的战略布局
  13. 【板栗糖GIS】DOS—如何在目录文件中批量建立子文件夹
  14. 贪心题集(vjoj)
  15. 增加PRODUCT_BOOT_JARS及类
  16. 僵尸国度.Z.Nation
  17. PHP - 回调函数概念与用法实例分析 - 学习/实践
  18. 视频教程-红孩儿网狐Cocos经典棋牌开发教程-手游开发
  19. 要用什么态度去面对生活?
  20. SqlSession was not registered for synchronization because synchronization is not active

热门文章

  1. C语言练习之交换两个数组中的内容
  2. \u*格式转码成中文
  3. 打开Excel,原有的数字内容都自动转换成日期格式的问题(亲自实践)
  4. 第 0020 题: 登陆中国联通网上营业厅 后选择「自助服务」 「详单查询」,然后选择你要查询的时间段,点击「查询」按钮,查询结果页面的最下方,
  5. Ubuntu 下安装极点五笔的方法
  6. MTK/Android GPS 相关
  7. Java开发工程师(Web方向)微专业大作业的实现(含源码资源)
  8. linux netfilter--broute流程
  9. C#设计模式系列 9 ----Facade外观模式之--天河城购物
  10. java 自动行高,20191012——POI设置单元格自动行高(思路)