Javascript ReactJS-可手持-确定更改
我正在尝试获取我正在使用的Javascript ReactJS-可手持-确定更改,javascript,reactjs,handsontable,Javascript,Reactjs,Handsontable,我正在尝试获取我正在使用的react handsontable组件中更改的值: <HotTable root="hot" data={this.state.handsontableData} colHeaders={this.handsontableColumns} rowHeaders={true} width="1200" he
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}
,那么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)} />
啊,把这个修好了:
以下是解决方案:
<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)} />
原因是您应该传入函数,而不是调用函数。上面的答案是有效的,但我认为不正确和多余。它正在创建一个只调用另一个函数this.handleHOTChange的函数。解释也不是这样的,因为您需要使用arrow函数语法。实际上,您可以使用其他语法,如 ```
原因是您应该传入函数,而不是调用函数。上面的答案是有效的,但我认为不正确和多余。它正在创建一个只调用另一个函数this.handleHOTChange的函数。解释也不是这样的,因为您需要使用arrow函数语法。实际上,您可以使用其他语法,如 ```
handleHOTChange(changes, source) {
alert('changed!');
console.log(changes);
}
<HotTable root="hot"
data={this.state.handsontableData}
colHeaders={this.handsontableColumns}
rowHeaders={true}
width="1200"
height="300"
stretchH="all"
colWidths={this.handsontableColWidths}
onAfterChange={function(changes, source){
// do something....}
<HotTable root="hot"
data={this.state.handsontableData}
colHeaders={this.handsontableColumns}
rowHeaders={true}
width="1200"
height="300"
stretchH="all"
colWidths={this.handsontableColWidths}
onAfterChange={this.handleHOTChange} />