【发布时间】:2020-03-30 12:25:54
【问题描述】:
我正在尝试制作一个简单的重置按钮,使用 onClick 将字符串发送到函数。
<button
type='reset'
value='Reset'
id='reset-btn'
onClick={() => {
this.onInputChange('0')
}}
>
Reset
</button>
我有一个接受输入值的 onInputChange 函数。 通过 onInputChange 函数中的 console.log(event),我知道我从 onClick 传递了参数,因为我可以在控制台中打印参数。
onInputChange = (event) => {
console.log('event: ', event);
let eventString = event.target.value;
let validArray = eventString.split('');
// Allow only binary digits in the input
for (let i=0; i < eventString.length; i++) {
if (validArray[i] !== '0' && validArray[i] !== '1') {
validArray.splice(i, 1);
event.target.value = validArray.join('');
}
}
return this.bin2Dec(validArray.join(''));
}
那么为什么我的应用程序中断并且我得到 TypeError: Cannot read property 'value' of undefined?
【问题讨论】:
-
@izzaros 你不需要做 event.target.value 因为你传递 value('0') 所以你可以直接访问值为'0'的事件。
-
你为什么要通过
this.onInputChange('0')和'0'?为什么不onClick={onInputChange}? -
我需要 event.target.value 因为该函数是用来获取输入值的。