我们习惯于这样使用ref:
①定义
<PanGrid
ref="listPanGrid"
dataSource={this.state.listData}
configCols={this.state.listColumns}
statistics={listStatistics}
checkboxCell={true}
orderCell={true}
onFire={{eventType: 'onRowSelected', callback: this.onMainFire.bind(this)}}
/>
②使用
listColumn = (e) => {
e.stopPropagation();
const panGrid = this.refs.listPanGrid;
panGrid.toggleToolPanel();
addPropagation();
};
这样使用的产生的错误便是:
[eslint] Using this.refs is deprecated. (react/no-string-refs)
这是因为react已不建议这样的语法。
最新的语法为:
①定义
<PanGrid
ref={(grid) => {this.listPanGrid = grid}}
dataSource={this.state.listData}
configCols={this.state.listColumns}
statistics={listStatistics}
checkboxCell={true}
orderCell={true}
onFire={{eventType: 'onRowSelected', callback: this.onMainFire.bind(this)}}
/>
②使用
listColumn = (e) => {
e.stopPropagation();
this.listPanGrid.toggleToolPanel();//注意这的this.refs.listPanGrid已被替换成this.listPanGrid
addPropagation();
};