我有以下 NumberFormat “ react-number-format”:“ ^ 4.3.0”,:
<NumberFormat
value={amount}
displayType={'text'}
decimalSeparator={'.'}
prefix={'$ '}
renderText={value => (
<TextInput
underlineColorAndroid="transparent"
style={styles.input}
onChangeText={this.handleChange}
value={value}
keyboardType="numeric"
/>
)}
/>
输入工作正常,但是当我尝试使用'。'时。作为小数点分隔符,状态更新onChangeText
和重置TextInput值的值可能未同步,并且在实际上不知道小数点确实是有效输入之前,NumberFormat
会以某种方式纠正小数点。
例如,如果输入22.
,则在输入22.2
之前,值会刷新,而.
小数点分隔符也消失了。如果我确实输入得很快,则小数点分隔符将保留在那里,并且我将在22.2
的输入字段中得到NumberFormat
。
在删除添加了.
小数点分隔符的输入时,我会得到相同的行为。如果我缓慢删除,则.
将保留在那里。摆脱它的唯一方法是将后退按钮保持更长的时间。
对于感兴趣的人,我也已在github问题页面-https://github.com/s-yadav/react-number-format/issues/365上发布了此内容。如果在那里找到/提供了答案,我将提供一个答案。