React Native中onKeyPress无法清空TextInput,Button点击正常的问题
问题原因
按下逗号时,你写的清空逻辑确实执行了,但系统会在onKeyPress事件触发后,默认把逗号字符插入到TextInput里——相当于刚清空就又输入了逗号,所以看起来没生效。而按钮点击没有这个后续的默认输入行为,因此能正常清空输入框。
解决方案
在handleKeyDown里阻止事件的默认行为,让逗号不会被输入进去,再执行清空操作即可:
修改后的handleKeyDown函数:
const handleKeyDown = (event) => { if (event.nativeEvent.key === COMMA) { event.preventDefault(); // 阻止逗号被输入到输入框 setTagValue(''); } }
另外补充:你不需要同时调用tRef.current.clear()和setTagValue(''),因为setTagValue('')已经会通过value属性更新TextInput的内容,实现清空效果,保留其中一个逻辑就行。
内容的提问来源于stack exchange,提问作者user2465134
相关产品推荐
相关产品推荐

