我有这个清单:
const chosen = (e: any) => console.log(e.target.dataset.value)
...
<ul>
{numbers.map(n => (
<a data-value={n} onClick={chosen}>
<li key={n}>
{n}
</li>
</a>
))}
</ul>
...
它记录undefined
。
还尝试了此方法:console.log(e.target.getAttribute('data-value'))
它返回null
。
如何从a
标签中获得价值?
堆栈:TypeScript:3.8.3,React:16.13.1
在React和Vue这样的框架中,通常尽可能避免从DOM读取数据。在这种情况下,您可以在函数中捕获值:
const chosen = (e: any, value: any) => console.log(value)
...
<ul>
{numbers.map(n => (
<a key={n} onClick={(event) => { chosen(event, n); }}>
<li>
{n}
</li>
</a>
))}
</ul>
...
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句