【问题标题】:Set State in input type without callback function在没有回调函数的输入类型中设置状态
【发布时间】:2019-04-12 06:50:17
【问题描述】:

我正在尝试在输入字段本身中设置状态。它给了我 [object object],当我输入一些值时。以下是代码:

<input
  type="text"
  name='name'
  value={this.state.name}
  onChange= {(name) => this.setState({ name })}
/>

这里有什么问题?

【问题讨论】:

  • 您传递的名称实际上是事件对象。它不是您输入元素上的name

标签: reactjs setstate input-field


【解决方案1】:

您可能正在传递整个事件对象,而不仅仅是目标值。试试这个:

onChange={e => setState({name: e.target.value})}

为了更好地理解,请阅读:https://reactjs.org/docs/forms.html

【讨论】:

    【解决方案2】:

    onChange 事件在输入标签上触发时,Event 对象被传递给回调函数。因此,要获取用户输入内容的值,您应该将其更改为

    onChange={(event) => this.setState({name: event.target.value})}
    

    【讨论】:

      猜你喜欢
      • 2020-12-16
      • 1970-01-01
      • 1970-01-01
      • 2018-02-04
      • 2022-07-11
      • 2016-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多