Существует потолок tabBar, который представляет различную часть моей страницы, и я пытаюсь получить offsetTop каждой части в componentDidMount, затем я могу переключить tabBar, сравнив document.element.scrollTop со offsetTop. Однако я обнаружил, что не могу получить правильное значение offsetTop для каждой части в componentengtDidMount ,, поскольку элементы не были полностью отрисованы.
здесь приведен некоторый относительный код
const tabList = [
{
title: 'xxxx1',
id: 'feature',
offsetTop: 0
},
{
title: 'xxxx2',
id: 'compensation',
offsetTop: 0
},
{
title: 'xxxx3',
id: 'faq',
offsetTop: 0
},
{
title: 'xxxx4',
id: 'form',
offsetTop: 0
}
]
componentDidMount() {
this.getEleOffsetTop()
}
getEleOffsetTop = () => {
tabList.forEach(item => {
let node = document.getElementById(`${item.id}`)
if (node) {
item.offsetTop = node.offsetTop
}
})
console.log('tabList', tabList)
}