提前道歉,我对React很新。
在printDocument
我将oHiddFrame.onload = this.setPrint;
设置为this.setPrint
,但Cannot set property '__container__' of undefined
的{{1}}错误为this
第一次任务。
我在render()中的按钮上设置setPrint
。我如何绑定"这个"对于实际的事件,我将其分配给?
非常感谢任何帮助或建议。
onClick={this.printDocument.bind(null, this.props.document.view_href)}
答案 0 :(得分:2)
在 ES5 (经典)中Javascript:
onClick={this.printDocument.bind(this, this.props.document.view_href)}
在 ES6 (使用 babel (https://babeljs.io/))Javascript:
onClick={() => this.printDocument(this.props.document.view_href)}
ES6 fat-arrows将此上下文自动绑定到该函数,并为代码添加更多可读性。
答案 1 :(得分:0)
你的onClick需要如下所示: modelBuilder.Entity<Blog>()
.HasOne(p => p.Document)
.WithOne(i => i.CancelNote)
.HasForeignKey<Document>(b => b.CancelNoteForeignKey);
,否则它不会正确绑定到按钮。
在onClick={this.printDocument.bind(this)}
内部方法中,您始终可以调用printDocument()
并使用您需要的任何内容。您也可以在之后的方法内操作事件。
不确定这是不是你在问什么。
答案 2 :(得分:0)
将this
作为bind
的第一个参数传递。第一个参数是上下文,this
应该在绑定函数中,但您当前正在传递null
。
onClick={this.printDocument.bind(this, this.props.document.view_href)}
事件对象SyntheticMouseEvent
实例将是处理程序的最后一个参数。您可以在函数声明中添加另一个参数并引用它:
printDocument: function (url, event) {
...
}