TextInputMask仅用于正数

时间:2017-06-15 12:25:53

标签: javascript android react-native masking

在我的应用中,我希望用户输入2位数字。

<TextInputMask
      placeholder="00" 
      ref={'Text2'}
      type={'only-numbers'} 
      maxLength={2}
      style = {styles.input2}
/>

但是,用户可以按' - '(减号)。我怎么能避免这个? 我已尝试添加 options = {{mask:'999'}}

1 个答案:

答案 0 :(得分:1)

看起来你可以做一些事情。您可以简单地忽略任何非数字输入(如果人们要粘贴值,这可能会有所帮助),或者您可以将输入标记为无效。

这对我来说是忽略/吞下减号:

<TextInputMask
  placeholder="00"
  ref={'Text2'}
  type={'custom'}
  maxLength={2}
  keyboardType="numeric"
  style={styles.input}
  options={{
    mask: '99',
    translation: { '9': val => val === '-' ? null : val }
  }}
/>

它仍然允许.,但你可以扩展功能以检查它。