0
点赞
收藏
分享

微信扫一扫

react ant Input defaultValue={value}设置了value值以后,但是defalult没有赋值上,输入框也没有显示

无愠色 2024-07-26 阅读 31

在 React 中,defaultValue 是一个非受控属性,而 value 是一个受控属性。这两个属性都可以用于设置 Input 组件的值,但是它们的工作方式有所不同。

  • value:这是一个受控属性,意味着输入框的值由 React 状态控制。每当状态更新时,输入框的值也会更新。如果你设置了 value,你也需要提供一个 onChange 处理器,以便更新这个值。

  • defaultValue:这是一个非受控属性,意味着输入框的值不受 React 控制。它只设置输入框的初始值,但不会在后续的渲染中更新。如果你设置了 defaultValue,输入框的值可以被用户更改,但不会触发任何 React 的状态更新。

在你的问题中,你提到 defaultValue={value},但是输入框没有显示任何值。这可能是因为 value 变量在初始化 Input 组件

所以这么使用onChange和value配合使用:

    <Input
              placeholder={i18nValue('请输入')}
              style={{ width: '100%' }}
              allowClear
              // defaultValue={value}
              value={value}
              maxLength={100}
              onChange={(event) => setValue(event.target.value, preRowData, rowIndex, 'resultIntroduction')}
            />
举报
0 条评论