gpt4 book ai didi

javascript - React ANTD DatePicker HTMLCollection 在提取元素/值时不显示实时值

转载 作者:行者123 更新时间:2023-12-03 14:29:49 25 4
gpt4 key购买 nike

当我使用 ANTD DatePicker 并使用箭头转到下一个面板时。 UI 更新,但我无法从 HTMLCollection 或 NodeList 中提取实时值。

第一次打开面板时:

    var yrCell = document.getElementsByClassName("ant-calendar-year-panel-year");

console.log(yrCell) // logs 2019-2030 in a HTMLCollection

for (let item of yrCell) {
console.log(item.innerText); // logs 2019-2030
}

for (let i = 0; i < yrCell.length; i++) {
console.log(yrCell[i]); // logs 2019-2030
}

console.log(yrCell) // logs 2019-2030 in a HTMLCollection

现在的问题是当我单击面板上的“下一步”箭头时 enter image description here

    var yrCell = document.getElementsByClassName("ant-calendar-year-panel-year");

console.log(yrCell) // logs 2029-2040 in a HTMLCollection

for (let item of yrCell) {
console.log(item.innerText); // STILL logs 2019-2030
}

for (let i = 0; i < yrCell.length; i++) {
console.log(yrCell[i]); // STILL logs 2019-2030
}

console.log(yrCell) // logs 2029-2040 in a HTMLCollection

如果 HTMLCollection 已更新且 UI 已更新并且 siaplays '后来的'值,并且在我的代码中,我在尝试从中提取特定值之前和之后读取较新的值,那么这些值如何不存在?

非常感谢任何帮助!

最佳答案

所以这似乎是真实 DOM 与虚拟 DOM 之间的一些问题,我发现结果是有人使用超时来解决不同的问题。但我在代码中尝试了这一点,它解决了它,所以我将我的逻辑包含在其中。

setTimeout(() => {
[...yearCells].forEach(yearCell => {
for (var count = 0; count < this.state.yearsThatCoveragesWereChanged.length; count++) {
if (this.state.yearsThatCoveragesWereChanged[count].effectiveFrom === yearCell.innerText) {
//logic
}
}
});
}, 0);

关于javascript - React ANTD DatePicker HTMLCollection 在提取元素/值时不显示实时值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60773484/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com