javascript - 当输入值清除时 onChange 不起作用

标签 javascript html reactjs jsx

我在处理输入值更改时遇到问题
所以这是我的 react 代码,onChange 有效,但是当我清除默认值时,它不会记录任何内容,直到我进行另一次更改。

<Form.Control
  type="text"
  placeholder="name"
  defaultValue={this.state.name}
  onChange={e=>console.log(e.target.value)}
/>
我写了 console.log 只是为了测试。

最佳答案

值不会改变,因为在 reactjs 组件中,一旦状态改变并使用 console.log 重新渲染在 onChange不更新状态的任何变化。所以你必须更新 onChange 事件的状态,
尝试以下,我假设它是类组件,因为您已经使用了 this.state.name

<Form.Control
  type="text"
  name="name"
  placeholder="name"
  defaultValue={this.state.name || ""}
  value={this.state.name}
  onChange={e=>this.setState({name:e.target.value})}
/>

关于javascript - 当输入值清除时 onChange 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68425997/

相关文章:

javascript - 从完全独立的组件更新 react 组件

javascript - 当 Blogger 帖子未托管在 Blogger 上时获取其第一个图像 URL

javascript - 如何将node.js服务器应用程序编译为可执行文件?

javascript - React 抓取 JSON 响应属性

reactjs - ComponentWillMount 警告

javascript - 从 AJAX 请求结果更新 Bootstrap 警报文本

javascript - 修复页面高度以随页脚向上滑动

html - 如何对 Emacs 进行编程以语法突出显示以数字指定的 html 字符引用

javascript - 表单未通过按钮上的 javascript 提交

android - Expo/React Native - 添加可点击图标以及 StackNavigator 对象