您好,我是 reactjs 的初学者。
我当前的用例非常简单,我有一个输入字段,用于接受电话号码并在用户键入时对其进行格式化。不幸的是,当我开始格式化时,输入字段冻结并拒绝接受进一步的输入
这是我的代码
import { parsePhoneNumberFromString } from 'libphonenumber-js';
export default function UpdatePhoneDetails() {
const [phoneNumber, setPhoneNumber] = useState('');
const updatePhoneNumber = (value) => {
const newPhoneNumber = parsePhoneNumberFromString(value, 'NG');
if (newPhoneNumber) {
const formattedNumber = newPhoneNumber.number;
const valid = newPhoneNumber.isValid();
if (valid) {
setPhoneNumber(formattedNumber); //The input field seems to be freezing here
}
}
};
return (
<TextField
variant="outlined"
required
fullWidth
id="phonenumber"
label="Phone Number"
name="phonenumber"
autoFocus
value={phoneNumber}
defaultValue={phoneNumber}
disabled={updating}
autoComplete="phonenumber"
onChange={(event) => updatePhoneNumber(event.target.value)}
/>
);
}
感谢您的预期帮助。