我的渲染功能是
<input type="text" id="search" data-id={form.id} value={form.name} placeholder= "Search..." name="id" onKeyUp={this.keyUpFn}"/>
我的keyUpFn函数是
keyUpFn(e){
var textInput = document.getElementById('search');
value1 = textInput.getAttribute('data-id')
value2 = e.getAttribute('data-id')
console.log(value1 )
console.log(value2 )
}
由于未定义getAttribute,因此两个控制台值都会出错。我怎样才能在React中解决这个问题?
答案 0 :(得分:0)
您可以从事件target对象获取数据。这就是代码的外观
keyUpFn(e){
console.log(e.target.getAttribute('data-id'));
console.log(e.target.value);
}
答案 1 :(得分:0)
您实际上可以通过访问
来获取函数中事件(e)所请求的数据event.currentTarget.dataset.paramater;
keyUpFn(e) {
e.currentTarget.dataset.id
}
答案 2 :(得分:0)
您可以使用getElementsByClassName(或id,name等),querySelectorAll,focus。 前两个返回所有有效元素的数组。