繁体   English   中英

React Bootstrap表单仅在第二次输入新闻时提交

[英]React bootstrap form only submits on second enter press

我正在制作一个简单的表单,希望在按下Enter键时执行该操作,但是由于某种原因,它仅适用于第二个 Enter键,而不是第一个

组件的render():

render() {
    return (
        <form onSubmit={this.handleSubmit}>
            <FormGroup controlId="formBasicText">
                <ControlLabel>MyLabel</ControlLabel>
                <FormControl
                    type="text"
                    value={this.state.value}
                    placeholder="Enter something"
                    onChange={this.handleChange}
                />
                <FormControl.Feedback />
            </FormGroup>
        </form>
    );
}

handleSubmit():

handleSubmit(e) {
    e.preventDefault();
    myMethod({this.state.value});
}

为什么这仅在第二台Enter印刷机上起作用?

编辑:要清楚,这只是目标代码的一个子集。 仅尝试运行此操作当然会失败。 我只是认为在对象的渲染或handleSubmit方法中可能出了什么问题。

以防万一,这里是构造函数:

constructor(props) {
    super(props);
    this.state = {
        value: "",
    };
    this.handleChange = this.handleChange.bind(this);
    this.handleSubmit = this.handleSubmit.bind(this);
}

可能是因为它排队状态的更新而不是像使用this.setState时那样立即执行更改,所以调用该函数时无法访问状态的新值吗?

在这里看看: ReactJS this.setState()与this.state.myvar不同步

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM