React Native中的数字格式

时间:2019-07-17 15:53:01

标签: react-native native-base

这可能是一个愚蠢的问题,但我还没有找到解决方案。如何格式化本机基本输入内容以仅接受数字并将其格式化为美元格式?

import { Input } from 'native-base';
...
onChangeText = (text, input) => {
    const obj = { ...this.state.myData };

    obj[input] = text;

    this.setState({
      myData: obj
    });
};
...

const { Total } = this.state.myData;
...
<Input
    value={Total}
    onChangeText={(text) => this.onChangeText(text, 'Total')}
    style={styles.valueText}
/>

它正在工作,但是如何更改为仅接受带有美元符号的数字和格式?

谢谢

2 个答案:

答案 0 :(得分:1)

在文档中:

  

道具为多种功能提供可配置性,例如自动更正,自动大写,占位符文本和其他   键盘类型,例如数字小键盘。

尝试一下。

<Input
value={Total}
onChangeText={(text) => this.onChangeText(text, 'Total')}
style={styles.valueText} 
keyboardType="number-pad"
/>

在IOS上,尝试keyboardType =“数字和标点符号”。

答案 1 :(得分:1)

在您的this.onChangeText函数上

add keyboardType =“ number-pad” +可以通过货币格式的正则表达式测试您的电话号码,如果不正确,请手动应用格式。

如果您想要一个https://github.com/s-yadav/react-number-format的图书馆来帮您,但是在这种情况下,您需要添加样式以使其看起来像您从本机库输入的内容