我正在使用react创建具有可拖动行的表。
这些行有输入以更改其道具。
使用onChange={this.onchange(this.value)}
时出现以下错误:
警告:道具类型失败:React.PropTypes类型检查代码已在生产中删除。
我应该可以在元素上使用onChange
函数吗?
我也收到警告,告诉我。
您为没有
value
处理程序的表单字段提供了onChange
道具。这将呈现一个只读字段。
我的完整代码可以在此链接中找到: My code
这是对输入没有onchange事件的代码,因此您可以查看结果。
我想在输入字段中添加onchange事件并更改JSON中的值。
答案 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