当前位置: 首页 > 面试题库 >

反应输入onChange不会触发

鞠乐
2023-03-14
问题内容

我目前有一个简单的react应用程序,无法获得这些onchange事件来激发我的生命。

var BlogForm = React.createClass({
getInitialState: function() {
    return {
        title: '',
        content: ''
    };
},
changeTitle: function(event) {

    var text = event.target.value;

    console.log(text);

    this.setState({
        title: event.target.value
    });
},
changeContent: function(event) {
    this.setState({
        content: event.target.value
     });
},
addBlog: function(ev) {
    console.log("hit hit");
},
render: function() {
    return (
                <form onSubmit={this.addBlog(this)}>
                    <div>
                        <label htmlFor='picure'>Picture</label>
                        <div><input type='file' id='picture' value={this.state.picture} /></div>
                    </div>
                    <div>
                        <input className="form-control" type='text' id='content' value={this.state.title} onChange={this.changeTitle} placeholder='Title' />
                    </div>
                    <div>
                        <input className="form-control" type='text' id='content' value={this.state.content} onChange={this.changeContent} placeholder='Content' />
                    </div>
                    <div>
                        <button className="btn btn-default">Add Blog</button>
                    </div>
                </form>

    );
  }
});

有趣的是,当我使用时onChange={this.changeTitle (this)},会触发事件,但changeTitle函数中的ev变量不正确。


问题答案:

尝试:

onChange={(evt) => this.changeTitle(evt)}

要么:

onChange={this.changeTitle.bind(this)}

代替:

onChange={this.changeTitle}


 类似资料:
  • 问题内容: 这是我第一次需要使用SqlDependency,所以我希望它是我犯的一个愚蠢的错误。 我遇到的问题是,当SQL表更改时,不会触发OnChanged事件。没有错误或其他任何东西不会触发。 这是代码 在我的主窗口中 因此,预期的行为是,如果我运行以下sqlQuery,将显示一个messageBox,显示“收到消息” 谁能给我提示要检查/更改的内容吗? 我知道在依赖项中只能使用Sql功能的一

  • 问题内容: 我建立了一个新的react项目,由于某种原因,该方法没有被调用。 我已经通过调用in 验证了此行为,但是在控制台中看不到它的输出。 此外,无法正常工作。 关于为什么不调用,我感到很困惑。我尝试同时使用React“ v0.14.0”和“ v0.14.3”。 为什么不调用“ componentDidMount”? 码: 问题答案: 所以…瞧瞧......我终于开始工作了(在后端专家的帮助下

  • 在虚拟DOM中,每次更改输入内容时都会触发onChange。在常规DOM中,onChange仅在输入元素模糊时触发。 链接到GIF说明行为 样本项目: 上述演示的源代码 为什么React对虚拟DOM元素触发onChange事件的方式不同?

  • 问题内容: 在我的react和typescript应用程序中,我使用:。 我如何正确定义类的类型,这样我就不必用来绕过类型系统了? 如果我把我得到: 问题答案: 通常,事件处理程序应使用,例如: 您可以在这里阅读原因(还原“使SyntheticEvent.target通用,而不是SyntheticEvent.currentTarget。”)。 UPD:如@ roger-gusmao所述,它更适合于

  • 问题内容: 当我从纯JavaScript更改输入元素的值时,则不会更新角度模型。有什么方法可以通过在更改后手动触发一些事件来触发更新吗? 完整的示例可以在plunkr上找到。单击按钮后,我希望会以某种方式更新。有办法吗? 问题答案: 您不应该这样做(除非用于 测试 ,但即使如此,也请考虑量角器)。以这种方式与angular交互是一个坏主意。但是,如果必须,这是您的操作方法。 一种不同的中间方式是