我不知道怎么修,我很肯定这是件容易的事,但我就是想不出来。
下面是从TS生成错误的代码行:
const slideLeft = () => {
const slider = document.getElementById("slider");
slider.scrollLeft = slider.scrollLeft - 1000;
};
const slideRight = () => {
const slider = document.getElementById("slider");
slider.scrollLeft = slider.scrollLeft + 1000;
};
ID滑块导致错误(“slider”可能为“null”)
<div
id="slider"
className="flex items-center w-full h-full overflow-x-scroll scroll whitespace-nowrap scroll-smooth scrollbar-hide"
>
任何指点或提示都很感激!谢谢!
2条答案
按热度按时间vxqlmq5t1#
这是因为如果没有找到与指定ID匹配的元素,则从
getElementById
返回的值将是Element
或null
。您可以使用几个optoin来降低
null
值。执行显式
null
检查。使用
non-null and non-undefined
Assert运算符。2uluyalo2#
document.getElementById
方法的返回类型为HTMLElement | null
。如果DOM中不存在具有所提供的id
的元素,则该方法返回null
值。要解决您的问题,只需检查
slider
是否包含值: