2016-02-18 23 views
0

我正在使用ReactJs構建我的Web應用程序。應用程序有一個包含應用程序狀態的狀態變量。我的應用程序有一個功能,用戶可以看到三個單選按鈕(thousands, millions, actual)。當用戶單擊thousands單選按鈕時,我需要以千位顯示所有數值。同樣的登錄申請數百萬。從對象數組中查找所有數值並執行乘法或除法

狀態變量包含對象數組。每個對象都可以有自己的一組屬性。每個屬性可以是數字,對象,布爾或字符串。

我想要什麼:我想去過的每個屬性,檢查它是否是數字類型,如果是真的,在千元單選按鈕的情況下,除以1000的每個值檢查(類似於邏輯萬次按鍵)。

什麼是達到理想效果的最有效方法。

+0

能粘貼狀態變量和示例你想得到的輸出? – JesusTinoco

回答

0

用於格式化,請使用類似https://www.npmjs.com/package/format-number的東西。

在渲染您的組件的功能,使用array.filter過濾掉任何非數字值,然後將結果映射到類似renderValue功能。在此功能中,檢查當前所選擇的格式,這將是this.state.formatter(我會得到它的第二個)保存在狀態。使用format-number軟件包和this.state.formatter的格式化程序來格式化您的值並顯示它。

過濾看起來類似於: this.props.values.filter((value) => !isNaN(value)).map(this.renderValue)

當涉及到你的格式設置狀態,創建<Input type="radio" name="format" value={1000} onChange={this.handleChange}/>和你handleChange功能:

handleChange: function(event) { 
    this.setState({formatter: event.target.value}); 
}