问题描述
我正在制作一个表格,一个输入是一个权重,格式为'd.ddd'
我尝试了一些方法,从 .toFixed(3) 方法到在输入元素上添加一堆属性...
<input
type="number"
step="0.001"
min="0.001"
max="10"
precision={3}
name ="weightOfTenPieces"
onChange={(e)=>handleFormInput(e)}
value={formState.weightOfTenPieces||""}
/>
function handleFormInput(e){
const name = e.target.name;
const value =e.target.value;
setFormState(prevState=>{
const newState = {...prevState,[name]:value};
return newState
})
}
我曾尝试将 toFixed(3) 放入,但这会导致失去焦点。
inputting 0.340 results in
0.3400000035762787
第一次尝试 - 失败:
function handleFormInput(e){
const name = e.target.name;
const value =e.target.value;
console.log(name,value);
let safeValue = value;
if(name =="weightOfTenPieces"){
console.log("safe value is:");
safeValue=Number(value).toFixed(2);
console.log(safeValue);
}
setFormState(prevState=>{
const newState = {...prevState,[name]:safeValue};
console.log(newState);
return newState
})
console.log(formState);
}
//results in input focus loss. not acceptable.
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)