React.js - 如何保留 inputnumber 中的值并对其进行更改?
React.js - How can I keep the value in inputnumber and make changes on it?
当我想输入新值时,它会删除旧值。我想在旧值之上进行更改。我该怎么办?
如图所示,我输入值50后,点击的那一刻,值变成0,我失去了它的值。
代码如下:
我把你的代码放在Codesandbox里方便测试。
https://codesandbox.io/s/modern-breeze-nbiir?file=/src/App.js:3304-3519
问题是InputNumber
的值,应该是state值而不是props(props的值永远是0)。
const MoonEditor = (productKey, month, props) => {
return (
<InputNumber
value={products1[0][month]} // <-- the latest updated value from products1
onValueChange={(e) => onEditorValueChange(productKey, props, e.value)}
/>
);
}
我通过在 MoonEditor()
中提供月份参数来更改您的代码以避免重复的 InputNumber 声明
更新
抱歉,库实际上更新了道具值
所以稍微改变一下就可以让它发挥作用。问题只是 InputNumber 的重复弄乱了 props
的值
https://codesandbox.io/s/condescending-shirley-j7nh2?file=/src/App.js:3370-3513
<InputNumber
inputStyle={{ width: "50px" }}
value={props.rowData[month]}
onValueChange={(e) => onEditorValueChange(productKey, props, e.value)}
/>
当我想输入新值时,它会删除旧值。我想在旧值之上进行更改。我该怎么办?
如图所示,我输入值50后,点击的那一刻,值变成0,我失去了它的值。
代码如下:
我把你的代码放在Codesandbox里方便测试。
https://codesandbox.io/s/modern-breeze-nbiir?file=/src/App.js:3304-3519
问题是InputNumber
的值,应该是state值而不是props(props的值永远是0)。
const MoonEditor = (productKey, month, props) => {
return (
<InputNumber
value={products1[0][month]} // <-- the latest updated value from products1
onValueChange={(e) => onEditorValueChange(productKey, props, e.value)}
/>
);
}
我通过在 MoonEditor()
更新
抱歉,库实际上更新了道具值 所以稍微改变一下就可以让它发挥作用。问题只是 InputNumber 的重复弄乱了 props
的值https://codesandbox.io/s/condescending-shirley-j7nh2?file=/src/App.js:3370-3513
<InputNumber
inputStyle={{ width: "50px" }}
value={props.rowData[month]}
onValueChange={(e) => onEditorValueChange(productKey, props, e.value)}
/>