问题描述
我有一个受控的脉轮输入组件。如果我将 isInvalid 属性设置为布尔值,我可以正确控制它的外观。
<Input
isInvalid={true}
name="nmfc"
value={inputs.nmfc}
onChange={handleChange}
/>
然而,一旦我传递了一个函数,它总是显示为无效,即使该函数的计算结果为 false。
<Input
isInvalid={() => inputs.nmfc === 'illegalvalue'}
name="nmfc"
value={inputs.nmfc}
onChange={handleChange}
/>
我还尝试将变量传递给属性,但未反映对变量的更改。
似乎应该可以动态设置它,因为输入是否有效取决于输入数据的变化。
解决方法
只需传入评估即可:
<Input
isInvalid={inputs.nmfc === 'illegalvalue'}
name="nmfc"
value={inputs.nmfc}
onChange={handleChange}
/>