🗒️typescript和getelementByID的配合使用
2023-4-26|2023-5-16
Anthony
type
status
date
slug
summary
tags
category
icon
password
背景
我想要控制一个输入框,每当我输入一个文件,就清空输入框里面的内容,常规JS来说我们只需要获取ID然后设置value就可以了,但是TS有类型约束,还有各种判空,所以需要更多操作。
代码
这里有一个输入框,绑定change事件
然后我们在setUploaded中获取这个input框,改变value
一开始我是这样写的
然后报错
'input' is possibly 'null'.ts(18047)
然后我就想,既然有可能是Null,那我就加个判空吧!
然后又报错
The left-hand side of an assignment expression may not be an optional property access.ts(2779)
仔细想了想,是因为我没有给这个input类型断言,所以我们应该给它一个类型断言,告诉ts这个是一个HTMLInputElement或者空!
正确的写法是这样子的,写个if保护
或者也可以用链式表达,这样子如果input是Null或者undifined就会被阻断并且返回undifined