我正在尝试获取正在使用的react-handsontable
组件中发生了变化的值:
<HotTable root="hot"
data={this.state.handsontableData}
colHeaders={this.handsontableColumns}
rowHeaders={true}
width="1200"
height="300"
stretchH="all"
colWidths={this.handsontableColWidths}
onAfterChange={this.handleHOTChange(changes, source)} />
但是,
onAfterChange={this.handleHOTChange(changes, source)}
会引发错误:./src/MyComponent.jsx
Line 73: 'changes' is not defined no-undef
Line 73: 'source' is not defined no-undef
能否请别人告诉我如何从事件中获得“变化”?
如果我只使用不带参数的
onAfterChange={this.handleHOTChange}
,则handleHOTchanges
函数将在更改时被调用。但是,如何确定发生了什么变化? 最佳答案
嗯,解决了这个问题:
下面是解决方案:
<HotTable root="hot"
data={this.state.handsontableData}
colHeaders={this.handsontableColumns}
rowHeaders={true}
width="1200"
height="300"
stretchH="all"
colWidths={this.handsontableColWidths}
onAfterChange={(changes, source) => this.handleHOTChange(changes, source)} />
关键是使用箭头函数语法:
(changes, source) => this.handleHOTChange(changes, source)
下面是示例处理程序函数,用于打印在控制台中接收到的参数:
handleHOTChange(changes, source) {
alert('changed!');
console.log(changes);
}
关于javascript - ReactJS-Handsontable-确定更改,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46356053/