如何添加事件到输入反应

时间:2019-02-05 13:01:52

标签: reactjs dom-events

我正在使用react创建具有可拖动行的表。
这些行有输入以更改其道具。
使用onChange={this.onchange(this.value)}时出现以下错误:

  

警告:道具类型失败:React.PropTypes类型检查代码已在生产中删除。

我应该可以在元素上使用onChange函数吗?
我也收到警告,告诉我。

  

您为没有value处理程序的表单字段提供了onChange道具。这将呈现一个只读字段。

我的完整代码可以在此链接中找到: My code

这是对输入没有onchange事件的代码,因此您可以查看结果。
我想在输入字段中添加onchange事件并更改JSON中的值。

1 个答案:

答案 0 :(得分:3)

您在输入中使用了value属性,但没有给它提供实际处理更改的方法。

为您的输入添加一个Sub btn_GetAge() Dim LastRow As Long With ThisWorkbook.Worksheets("Sheet1") LastRow = .Cells(.Rows.Count).End(xlUp).Row .Range("B2:B" & LastRow) = "=(YEAR(NOW())-YEAR(A1))" End With End Sub 处理程序,但不要调用它

onChange

<input type="text" value={props.caption} onChange={this.handleChange}/>函数应如下所示:

handleChange

它将事件作为参数,然后使用handleChange = (e) => this.setState({something: e.target.value})访问输入的值;然后,使用新值更新状态,该值应绑定到输入的e.target.value属性。这称为受控组件,您可以在其中处理React中的更改。

您可以在此处了解有关受控组件和不受控制组件的更多信息:https://reactjs.org/docs/uncontrolled-components.html