React.js - 如何保留 inputnumber 中的值并对其进行更改?

React.js - How can I keep the value in inputnumber and make changes on it?

当我想输入新值时,它会删除旧值。我想在旧值之上进行更改。我该怎么办?

如图所示,我输入值50后,点击的那一刻,值变成0,我失去了它的值。

代码如下:

https://paste.ubuntu.com/p/kykZccS6gC/

我把你的代码放在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)}
/>