javascript - ReactJS 中的条件电话掩码数字作为 if 语句或函数
问题描述
我试图让我的输入显示为美国电话号码格式,直到我达到第 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;
解决方案
this.state.userInput.length <= 10 ? mask=this.formatPhoneNumber : mask=this.state.userInput
设置一个条件来判断输入是否超过 10 个字符,如果是则不格式化。
推荐阅读
- python - 为什么 yahoo_fin 在下载 Apple 股票时会导致“adjclose”错误?
- less - 如何使用LESS中的Guards遍历键值配对列表
- google-app-engine - 设置 Google App Engine cron 作业日志
- c# - C# 调整图形组件中的绘图大小
- angular - Angular:CORS 错误仍然存在于 proxy.conf.json
- c# - 如何使用 c# 使用 twilio 将 WhatsApp 消息发送到任何号码
- flutter - Dart Analyzer 的排除选项无法正常工作
- python - GeoPandas .to_crs() 方法未转换
- excel - Excel VBA:查找值并仅粘贴颜色(没有颜色的问题)
- javascript - 使用动态键重塑 mongodb 聚合结果