还是报错Type '(value: string | undefined) => string | undefined' is not assignable to type '(displayValue: string | undefined) => number'. Type 'string | undefined' is not assignable to type 'number'. Type 'undefined' is not assignable to type 'number'
时间: 2023-12-12 16:02:56 浏览: 136
这个报错提示是因为 `formatter` 和 `parser` 函数的返回类型不是 `number` 类型,而 `InputNumber` 组件的 `onChange` 函数期望接受一个返回值为 `number` 类型的函数。你需要将 `formatter` 和 `parser` 函数的返回类型都改为 `number` 类型。可以按照以下方式修改:
```
<InputNumber
key={index}
addonBefore={retrieveIndicatorThresholdSign(
indicator.indicator_name,
index + 1,
)}
addonAfter={indicator.threshold_unit[index]}
defaultValue={item === null ? undefined : item}
onBlur={(e) => handleThresholdBlur(e, index)}
formatter={(value) => (/^\d+$/.test(value?.toString()) ? Number(value) : "")}
parser={(value) => (/^\d+$/.test(value?.toString()) ? Number(value) : "")}
onChange={(value) => handleThresholdChange(value, index)}
/>
```
在修改后的代码中,我们将 `formatter` 和 `parser` 函数的返回类型都改为了 `number` 类型。并且在处理函数中,我们使用了 `Number()` 函数将字符串类型的值转换为数字类型。在 `onChange` 函数中,我们将接收到的值作为参数传递给 `handleThresholdChange()` 函数。
阅读全文