【发布时间】:2019-08-26 03:29:08
【问题描述】:
我很难找到一个合适的解决方案,在使用 Redux 的 React Native 中使用 onChangeText 函数格式化 TextInput 中的数字输入。
我尝试使用函数.toFixed(2),但问题是,只要我在函数中输入一个数字,它就会将下一个数字解释为第一个小数并将其四舍五入为 0。这是因为我控制Redux 的输入。只要输入一个数字,它就会保存到 Redux 状态,并且 TextInput 的 value 属性连接到 Redux 状态的那部分。
示例:我输入5,然后toFixed(2) 返回5.00。当我现在输入 3 时,它会将其解释为 5.03,然后函数将其向下舍入并再次返回 5.00。
我也尝试使用react-native-masked-text,但问题是由于 React Native 的实际 TextInput 中的一个错误,我有一个可怕的闪烁效果并且无法摆脱它。 (https://github.com/benhurott/react-native-masked-text/issues/12)
理想的方法是输入一个数字并将其作为第一个小数,当我点击下一个数字时,小数点将向右移动一个。示例:我输入7,TextInput 应该显示0.07,然后我输入9,TextInput 应该显示0.79。然后我输入4,TextInput 应该会显示7.94 等。
美国的许多银行应用程序都将其作为标准做法。
【问题讨论】:
标签: javascript reactjs react-native redux formatting