我有一个输入字段,需要对其进行格式化,并在聚焦时突出显示其文本。 但是当我更新状态时,事件不会触发。我知道为什么,但是更改后如何突出显示输入的文本?
输入
<input type="text" value={amount} onFocus={(e: any) => convertFocusAmount(field, e.target.value, e)} onBlur={(e: any) => convertBlourAmount(field, e.target.value)} />
对焦功能
const convertFocusAmount = (value: string, event:any) => {
setAmount(value.replace('.', ''));
event.target.select();
}
我有很多想法,请帮忙
答案 0 :(得分:0)
您正在将event.target.value
传递给convertFocusAmount
,而不仅仅是event
。
编辑:
这样做:
<input
type="text"
value={amount}
onFocus={(e: any) => convertFocusAmount(e)}
onBlur={(e: any) => convertBlurAmount(e)}
/>
重点关注的是您可以访问完整的event
对象:
const convertFocusAmount = (event: any) => {
setAmount(event.target.value.replace('.', ''));
event.target.select();
}