如何更新文本输入值以使用货币格式

时间:2018-07-10 06:10:07

标签: javascript react-native currency-formatting

这是我的代码:

onChangeTextPrice(value) {
  const newPrice = parseInt(value, 10).toLocaleString(['ban', 'id']);
  return this.setState({ price: formatted });
}

如果我console.log(newPrice),它将给我格式,例如:10.000.000

但是由于某些原因,反应本机textinput不会使用此值,而是显示10000000

但是如果我这样更改TextInput值:

<TextInput
   keyboardType="numeric"
   value={'10.000.000'}
   multiline={false}
   underlineColorAndroid="transparent"
   onChange={val => this.onChangeTextPrice(val)}

有效。为什么会这样?

1 个答案:

答案 0 :(得分:1)

您可能想使用以下软件包之一来实现简单/复杂的输入掩码。

github.com/benhurott/react-native-masked-text

github.com/react-native-community/react-native-text-input-mask

可以找到一个不错的教程here