reactjs - 如何在反应中传递表单提交的输入值
问题描述
在提交时,我想将用户输入的输入值传递给该字段的功能和警报值。这是我得到的代码,我被困住了,我知道这是基本的东西,但我是 React 的新手,所以有人可以进一步解释一下。
这是代码
class UserInput extends Component{
onInputChange(event){
alert(event.target.value);
}
render(){
return (
<div>
<form noValidate autoComplete="off" onSubmit={this.onInputChange}>
<TextField
id="outlined-name"
label="Image Search"
margin="normal"
variant="outlined"
style={{minWidth:'500px'}}
type="text"
/><br></br>
<Button
variant="contained"
color="primary"
type="submit"
>
Search
</Button>
</form>
顺便说一句,这是 Material UI TextField 和 Button 元素。
解决方案
当您按下提交按钮时,您将函数传递给的onSubmit
道具将被“触发”。onInputChange
这给您的是用户提交表单时的信息。
为了从表单中的输入传递值,您需要将它们存储在组件的状态中,并在用户修改输入时相应地更改它们。
您可以在此处阅读有关此内容的更多信息。
并解决您的问题:
class UserInput extends Component{
constructor(props) {
super(props);
this.state = {value: ''};
this.handleChange = this.handleChange.bind(this);
this.onSubmit = this.onSubmit.bind(this);
}
handleChange(event) {
this.setState({value: event.target.value});
}
onSubmit(event){
alert('Form submitted:' + this.state.value);
}
render(){
return (
<div>
<form noValidate autoComplete="off" onSubmit={this.onSubmit}>
<TextField
onChange={this.handleChange}
id="outlined-name"
label="Image Search"
margin="normal"
variant="outlined"
style={{minWidth:'500px'}}
type="text"
/><br></br>
<Button
variant="contained"
color="primary"
type="submit"
>
Search
</Button>
</form>
推荐阅读
- docker - 当我未连接到 Internet 时,Docker 容器主机无法解析
- php - 没有自定义控制器的 Symfony 4 重定向
- xml - 如何在已排序的 xsl:for-each 循环中访问前一个和下一个元素的值
- android - 视图底部不显示阴影
- bash - 无法将文件内容重定向到 rpm 规范的 %post 部分中的变量
- python - 从一开始就使用一元/二进制数据创建一个 csr_matrix
- android - 使用动态功能和构建风味时出现合并错误
- mysql - 在表中如何通过保持对另一列的引用来选择一列的不同值?
- javascript - Mongoose 函数记录正确的数据,但使用异步函数获取它返回未定义
- swift - 使用自动布局以编程方式将自定义 UIView 与视图对齐