gpt4 book ai didi

typescript - 类型 'dataset' 上不存在属性 'EventTarget'

转载 作者:搜寻专家 更新时间:2023-10-30 20:34:41 25 4
gpt4 key购买 nike

当尝试在单击后访问按钮上的数据集时,出现此^错误。

linkProvider = (ev: React.SyntheticEvent<EventTarget>) => {
console.debug('ev.target', ev.target.dataset['ix']) // error
}

// in render
providers.map((provider, ix) => (
<button key={provider} data-ix={ix} onClick={this.linkProvider}>{provider}</button>
))

有什么想法可以让它发挥作用吗?

最佳答案

问题出在 Elementdocumentwindow 可以是 EventTarget .如果是一个元素,您应该检测您的 EventTarget。所以在你的情况下,下面的代码应该可以工作

linkProvider = (ev: React.SyntheticEvent<EventTarget>) => {
// If event target not an HTMLButtonElement, exit
if (!(ev.target instanceof HTMLButtonElement)) {
return;
}
console.debug('ev.target', ev.target.dataset['ix'])
}

简而言之

linkProvider = (ev: React.SyntheticEvent<HTMLButtonElement>) => {
console.debug('ev.target', ev.currentTarget.dataset['ix'])
}

我还添加了示例 here

关于typescript - 类型 'dataset' 上不存在属性 'EventTarget',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49631688/

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