【发布时间】:2018-12-23 05:10:45
【问题描述】:
我在处理 React 的 NumberFormat 的格式时遇到问题。
如果用户输入 10 个数字,我需要它变成 format="(###) ###-####",但是当用户广告第 11 个数字时,必须丢弃格式,但数字仍然显示。
这是我迄今为止尝试过的:
import React, { Component } from "react";
import NumberFormat from "react-number-format";
import PhoneInputHandler from "./PhoneInputHandler/PhoneInputHandler";
class App extends Component {
state = {
userInput: ""
};
phoneNumberFormatHandler = values => {
console.log(values);
// this.state.userInput.length <= 10 ? this.format="(###) ###-####" : this.format=this.state.userInput.values
};
render() {
return (
<div className="App">
{/* <input type="number"
name="phoneNumberInput"
placeholder='Phone Number Here'
onChange={this.inputChangedHandler}
value={this.state.userInput}/>
format="(###) ###-####"
<p id='PhoneOutput'><strong>Value: </strong>+1{this.state.numAsString}</p>
*/}
<NumberFormat
format="(###) ###-####"
mask=""
name="phoneNumberInput"
placeholder="Phone Number Here"
onValueChange={this.inputChangedHandler}
value={this.state.userInput.value}
/>
<p>
<strong>Value: </strong>+1{this.state.userInput.value}
</p>
</div>
);
}
}
export default App;
【问题讨论】:
标签: javascript reactjs number-formatting data-manipulation