是否可以在显示输入的字符之前过滤 TextInput 值?

Str*_*yer 5 react-native

我有一个 TextInput 应该只接受数字值。我或多或少可以通过在iOS上使用keyboardType“number-pad”来强制执行此操作,但Android只有“numeric”,它为诸如-或 之类的字符提供按键,。即使如此,附加的硬件键盘(如默认情况下的 iOS 模拟器/Android 模拟器)仍然允许输入非数字字符。

\n\n

我在网上能找到的所有内容都是过滤 onChangeText 中输入的值,将过滤后的值存储在状态中并将状态用作 TextInputs 值 \xe2\x80\x93 虽然这确实有效,但它会导致输入的值短暂出现在 JavaScript 之前能够过滤它。由于我无法强制 Android 键盘仅显示数字,因此我真的想避免这种视觉行为。

\n\n

Android 有android:digits来实现这一点,但我不认为这在 React Native 中可用。

\n\n

有没有办法在显示 TextInputs 值之前对其进行过滤?

\n

Hen*_*k R 0

我认为现在的解决方案是在 Android 上接受额外的字符,当您提交表单时,只需在发送到服务器之前转换该文本字段的输入:)