2017-06-08 84 views
1

我試圖創建一個貨幣輸入,即開始就像這樣陣營本地貨幣輸入

" $00.00" 

,然後當你開始打字,它的種類第一美分,然後移動到美元(即,首先更新右邊的數字),例如

" $00.50" 

到目前爲止,我把它實現,其中用戶在一個盒子,並在第二個框格式正確的輸出顯示。

代碼:

constructor(props) { 
    super(props); 


    this.state = { 
     amount: '', 
    }; 

} 

formatValue(value) { 
    return accounting.formatMoney(parseFloat(value)/100, "$ "); 
} 

render() { 
    return (
     <ScrollView> 

      <Text style={styles.text}> Enter the Amount to be payed</Text> 
       <TextInput 
        onChangeText={(amount) => this.setState({amount})}> 
       </TextInput> 

       <TextInput 
        onChangeText = {amount => this.setState({amount})}     
        value={this.formatValue(this.state.amount)}>       
       </TextInput> 

     </ScrollView> 

    ); 

} 

不過,我想貨幣格式適用於用戶鍵入到同一個盒子。我試過這樣的事情:

<TextInput 
     onChangeText={(amount) => this.setState({amount})} 
     value = {this.formatValue(this.state.amount)}> 
</TextInput> 

但這只是簡單地將輸入設置爲零,並且它不能被改變。我顯然不能正確理解這一點。

有沒有人有這方面的見解?

回答