【发布时间】:2020-08-18 00:14:19
【问题描述】:
我正在尝试使用 'React.useRef(null);' 在 List 的 ListItem 中获取确切的 DOM 元素但无法得到它,我正在使用下面的代码
useEffect(() => {
//This is where i am trying to get the exact DOM element
console.log("listRef", listRef.current);
}, [searchText]);
这是我的密码箱link
如何获取准确的 DOM 元素以及我缺少什么?
【问题讨论】:
-
确切的 DOM 元素是什么意思?您正在获取组件。
-
@SILENT 我需要 ListItem 的确切 DOM 元素,之后要添加 `listRef.current && listRef.current.scrollIntoView({behavior: "smooth", block: "nearest"}) ` 滚动到那个。你想让我将滚动代码也添加到代码框链接
-
检查这可能对你有帮助:stackoverflow.com/questions/54940399/…
-
您当前的实现是指最后一个元素。您只想滚动到最后一个元素还是列表中的任何元素?
-
@SILENT 是的,这正是问题所在。我不想滚动到最后一个元素,而是想滚动到包含在 searchBar 中输入的第一次出现的 searchText 的元素。
标签: javascript reactjs typescript dom react-hooks