【发布时间】:2020-03-03 16:57:50
【问题描述】:
我正在尝试禁用/启用选定的输入字段以进行编辑。到目前为止,我已经一次性完成了所有领域的工作
constructor(props) {
super(props);
this.state = { disabled: true }
}
handleEdit() {
this.setState( {disabled: !this.state.disabled} )
}
render(){
return(
<div className="col-md-3"><label>First Name</label></div>
<div className="col-md-6">
<input
type="text"
className="form-control react-form-input"
id="fname"
name="fname"
disabled={(this.state.disabled)? "disabled" : ""}
/>
<i className="fas fa-edit" onClick = {this.handleEdit.bind(this)}></i>
</div>
</div>
<div className="col-md-3"><label>Last Name</label></div>
<div className="col-md-6">
<input
type="text"
className="form-control react-form-input"
id="lname"
name="lname"
disabled={(this.state.disabled)? "disabled" : ""}
/>
<i className="fas fa-edit" onClick = {this.handleEdit.bind(this)}></i>
</div>
)}
但是我想根据元素 ID 仅编辑选定的字段。我试图将其切换为event.target.id,但这根本不起作用。
关于这件事有什么建议吗?
【问题讨论】:
-
更好的方法是将输入和编辑按钮移动到具有单独状态的单独组件中。
-
@demkovych 我一开始就在考虑它,但我是在表单级别的组件上看的,而不仅仅是选定的字段。我被父组件卡住了,因为我只有一个提交按钮才能提交多个表单