React,动态添加textarea导致onChange报错
React, dynamically adding textarea results in errors onChange
我的代码在这里 - https://codesandbox.io/s/92xmm6zvmo
想法是,用户点击 table 中的编辑 link,该行会展开,并在展开的行中打开一个文本区域,以便用户可以编辑他们的 JSON 在里面。这一切都很好,除了文本区域的 onChange 事件处理程序。当事件触发时,它似乎缺少对此的引用,并且无法绑定适当的事件处理程序。我不明白为什么会这样,我希望有一个对 ExpandableTable 组件的引用,因为 expandedRowRender() 方法属于 class.
其他表单字段(不是动态添加的)似乎工作正常。
显示您的代码会让事情变得更容易。
我认为它现在可以工作了。
https://codesandbox.io/s/wkym185vpl
问题是,您没有正确绑定“this”上下文。如果您要使用箭头函数,请确保所有 class 函数都是:
Class MyClass{
expandedRowRender = () => {}
}
如果你正在做 expandedRowRender(){}
确保在构造函数中绑定它。
Class MyClass{
constructor(){
this.expandedRowRender = this.expandedRowRender.bind(this);
}
...
expandedRowRender(){}
}
我的代码在这里 - https://codesandbox.io/s/92xmm6zvmo
想法是,用户点击 table 中的编辑 link,该行会展开,并在展开的行中打开一个文本区域,以便用户可以编辑他们的 JSON 在里面。这一切都很好,除了文本区域的 onChange 事件处理程序。当事件触发时,它似乎缺少对此的引用,并且无法绑定适当的事件处理程序。我不明白为什么会这样,我希望有一个对 ExpandableTable 组件的引用,因为 expandedRowRender() 方法属于 class.
其他表单字段(不是动态添加的)似乎工作正常。
显示您的代码会让事情变得更容易。 我认为它现在可以工作了。
https://codesandbox.io/s/wkym185vpl
问题是,您没有正确绑定“this”上下文。如果您要使用箭头函数,请确保所有 class 函数都是:
Class MyClass{
expandedRowRender = () => {}
}
如果你正在做 expandedRowRender(){}
确保在构造函数中绑定它。
Class MyClass{
constructor(){
this.expandedRowRender = this.expandedRowRender.bind(this);
}
...
expandedRowRender(){}
}