React Redux 表单输入编辑返回不受控制的输入的错误消息
下面的代码使用 react redux 在数据库输入的表单中显示记录,并且工作正常。当我尝试编辑姓氏的表单输入时,它不会编辑,而是 它显示错误
组件正在更改要控制的文本类型的不受控制的输入。 输入元素不应从不受控制切换为受控制(反之亦然)。 在组件的生命周期中决定使用受控还是不受控制的输入元素。
这是如何在表单输入中显示要编辑的结果
Q/A
下面是完整的反应redux代码
const whosOnline = (a) => {
var obj = { online:[],
offline:[],
away:[] };
for(let i = 0; i < a.length; i++){
if(a[i].lastActivity > 10 && a[i].status == 'online'){obj.away.push(a[i].username)}
else if(a[i].status == 'offline'){obj.offline.push(a[i].username)}
else{obj.online.push(a[i].username)}
}
for(let x in obj){
console.log(obj[x])
if(obj[x] === []){delete obj[x]}}
return obj
}
答案 0 :(得分:0)
最后,解决我输入表单无法编辑的问题的方法是用defaultValue {}选项替换表单输入值{}。我利用Solanki在React Input Type not editable
上发布的解决方案/答案不再了
<input type="text" className="form-control" value={pgs1.items1 && this.props.pgs1.items1[0].lastName} onChange={this.handleChange}/>
但这可以解决我的问题
<input type="text" className="form-control" defaultValue={pgs1.items1 && this.props.pgs1.items1[0].lastName} onChange={this.handleChange}/>
通过实现defaultValue {},我现在可以随时编辑表单值。