Javascript 如何更新输入值
我有一个列表和编辑按钮,当用户点击编辑按钮打开一个新的模式。我想自动填充所选用户名邮件等。服务器端响应为{this.test.name}我给他输入值以自动填充,但当用户单击编辑按钮时,ı可以看到名称,但ı无法更改输入。ı如何做? 代码:Javascript 如何更新输入值,javascript,reactjs,Javascript,Reactjs,我有一个列表和编辑按钮,当用户点击编辑按钮打开一个新的模式。我想自动填充所选用户名邮件等。服务器端响应为{this.test.name}我给他输入值以自动填充,但当用户单击编辑按钮时,ı可以看到名称,但ı无法更改输入。ı如何做? 代码: 阿德-索亚德 您无法更改该输入值,因为您已将该值设置为this.test.name,并且未定义onChange处理程序。所以,您应该做的是为输入字段创建一个状态,然后在componentDidMount上,使用来自服务器的数据填充该状态 然后在您的输入字段上
阿德-索亚德
您无法更改该输入值,因为您已将该值设置为this.test.name
,并且未定义onChange
处理程序。所以,您应该做的是为输入字段创建一个状态,然后在componentDidMount
上,使用来自服务器的数据填充该状态
然后在您的输入字段上
this.state = {
val: ''
}
<input value={this.test.name} onChange={e => setState({val: e.target.value})}/>
this.state={
val:'
}
setState({val:e.target.value})}/>
可能会有语法错误,因为我现在已经习惯了使用钩子,但这就是它的要点
this.state={
名称:“”,
}
(如果仅在装载时检索,则在拥有时设置状态)
constHandNameChange=(e)=>{
setState({name:e.target.value});
}
如果您正在使用挂钩,您可以执行以下操作:
从“react”导入{useState};//导入使用状态
导出默认函数App(){
const[name,setName]=useState(“”;//useState钩子
//处理更改事件
常数handleChange=(e)=>{
e、 preventDefault();//防止默认操作
setName(e.target.value);//将name设置为e.target.value(事件)
};
//渲染
返回(
{name}
);
}
首先,我们导入useState()
钩子来使用它,然后我们使用它来存储name值的状态,您可以给它一个空字符串的初始值(“”
)。在handleChange()
函数中,我们阻止默认操作并将状态设置为e.target.value
,这是事件传递的输入值(如(e)
)。每次输入更改时,状态将更新,页面将重新呈现
你可以查看我的沙盒Adı-Soyadı你试过我在评论中添加的内容吗?考虑给予一些反馈,问候我使用了V0.14不能使用UnStand,但是谢谢你的其他解决方案对我来说不起作用。我做了同样的事情,但ı无法更改您是否可以尝试在
标记中添加onChange={handleChange}
,并复制我在上面添加的handleChange函数?然后将setName(…)
替换为setState({name:e.target.value})
或替换为状态具有的属性。要检查值是否正确传递,可以尝试通过在handleChange()
函数中添加console.log(e.target.value)
来记录事件。
this.state = {
val: ''
}
<input value={this.test.name} onChange={e => setState({val: e.target.value})}/>