【问题标题】:Format TextInput in onChangeText to dollar amount in React Native using Redux使用 Redux 将 onChangeText 中的 TextInput 格式化为 React Native 中的美元金额
【发布时间】: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


    【解决方案1】:

    你应该尝试使用 react-native-community 自己开发的react-native-text-input-mask

    HTH

    【讨论】:

    • 我正在使用 Expo,我没有 react init 项目。要使其在 iOS 上运行,您将“必须将 InputMask 框架拖放到 Target 的 General 选项卡中的 Embedded Binaries,并在 Build Settings 的‘Always Embed Swift Standard Libraries’中选中‘Yes’。”对于世博会项目,我显然没有。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-25
    • 1970-01-01
    相关资源
    最近更新 更多