You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 10:52:11