【问题标题】:Conditional Phone Mask numbers in ReactJS as an if statement or functionReactJS 中的条件电话掩码数字作为 if 语句或函数
【发布时间】:2018-07-15 08:31:38
【问题描述】:

我正在尝试将我的输入显示为美国电话号码格式,直到我到达第 10 个输入。一旦我到达第 11 个输入,我想让它失去掩码格式。

附上我的 ReactJS 代码:

import React, { Component } from 'react';
import NumberFormat from 'react-number-format';

class App extends Component {
  state ={
  userInput: ''
}
phoneNumberFormatHandler =(values, event)=>{
console.log("values are " + values);
console.log("events are " + event);
}

  inputChangedHandler = (values, event) => { 
   this.setState({userInput: values});
  console.log(values);
  console.log(event);
  console.log(this.formatPhoneNumber(values.value));
  }
  render() {
    return (
      <div className="App">
                <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 if-statement phone-number masking


    【解决方案1】:
    this.state.userInput.length <= 10 ? mask=this.formatPhoneNumber : mask=this.state.userInput
    

    设置条件判断输入是否超过10个字符,如果是则不格式化。

    【讨论】:

    • 很抱歉提出了 N00b 问题,但您能把它粘贴到它应该放置的位置吗?
    猜你喜欢
    • 2016-05-27
    • 1970-01-01
    • 2013-08-04
    • 2021-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多