fix:树形表,onRowHover方法返回参数异常

This commit is contained in:
yangchch6 2019-10-29 17:14:58 +08:00
parent 1a16da2e16
commit 16b7080ab6
6 changed files with 31 additions and 19 deletions

View File

@ -1501,14 +1501,17 @@ var Table = function (_Component) {
this.lastScrollLeft = e.target.scrollLeft;
};
Table.prototype.handleRowHover = function handleRowHover(isHover, key, event, currentIndex) {
Table.prototype.handleRowHover = function handleRowHover(isHover, key, event, currentIndex, propsRecord) {
//增加新的API设置是否同步Hover状态提高性能避免无关的渲染
var _props10 = this.props,
syncHover = _props10.syncHover,
onRowHover = _props10.onRowHover,
data = _props10.data;
//fix:树形表onRowHover返回参数异常
var record = data[currentIndex];
var isTreeType = this.isTreeType;
var record = isTreeType ? propsRecord : data[currentIndex];
// 固定列、或者含有hoverdom时情况下同步hover状态
if (this.columnManager.isAnyColumnsFixed() && syncHover) {
this.hoverKey = key;

View File

@ -523,12 +523,13 @@ var TableRow = function (_Component) {
onHover = _props7.onHover,
hoverKey = _props7.hoverKey,
fixedIndex = _props7.fixedIndex,
syncHover = _props7.syncHover;
syncHover = _props7.syncHover,
record = _props7.record;
if (syncHover) {
this.setState({ hovered: true });
}
onHover(true, hoverKey, e, fixedIndex);
onHover(true, hoverKey, e, fixedIndex, record);
};
TableRow.prototype.onMouseLeave = function onMouseLeave(e) {
@ -536,12 +537,13 @@ var TableRow = function (_Component) {
onHover = _props8.onHover,
hoverKey = _props8.hoverKey,
fixedIndex = _props8.fixedIndex,
syncHover = _props8.syncHover;
syncHover = _props8.syncHover,
record = _props8.record;
if (syncHover) {
this.setState({ hovered: false });
}
onHover(false, hoverKey, e, fixedIndex);
onHover(false, hoverKey, e, fixedIndex, record);
};
TableRow.prototype.render = function render() {

17
dist/demo.js vendored
View File

@ -38353,14 +38353,17 @@
this.lastScrollLeft = e.target.scrollLeft;
};
Table.prototype.handleRowHover = function handleRowHover(isHover, key, event, currentIndex) {
Table.prototype.handleRowHover = function handleRowHover(isHover, key, event, currentIndex, propsRecord) {
//增加新的API设置是否同步Hover状态提高性能避免无关的渲染
var _props10 = this.props,
syncHover = _props10.syncHover,
onRowHover = _props10.onRowHover,
data = _props10.data;
//fix:树形表onRowHover返回参数异常
var record = data[currentIndex];
var isTreeType = this.isTreeType;
var record = isTreeType ? propsRecord : data[currentIndex];
// 固定列、或者含有hoverdom时情况下同步hover状态
if (this.columnManager.isAnyColumnsFixed() && syncHover) {
this.hoverKey = key;
@ -39019,12 +39022,13 @@
onHover = _props7.onHover,
hoverKey = _props7.hoverKey,
fixedIndex = _props7.fixedIndex,
syncHover = _props7.syncHover;
syncHover = _props7.syncHover,
record = _props7.record;
if (syncHover) {
this.setState({ hovered: true });
}
onHover(true, hoverKey, e, fixedIndex);
onHover(true, hoverKey, e, fixedIndex, record);
};
TableRow.prototype.onMouseLeave = function onMouseLeave(e) {
@ -39032,12 +39036,13 @@
onHover = _props8.onHover,
hoverKey = _props8.hoverKey,
fixedIndex = _props8.fixedIndex,
syncHover = _props8.syncHover;
syncHover = _props8.syncHover,
record = _props8.record;
if (syncHover) {
this.setState({ hovered: false });
}
onHover(false, hoverKey, e, fixedIndex);
onHover(false, hoverKey, e, fixedIndex, record);
};
TableRow.prototype.render = function render() {

2
dist/demo.js.map vendored

File diff suppressed because one or more lines are too long

View File

@ -1303,10 +1303,12 @@ class Table extends Component {
this.lastScrollLeft = e.target.scrollLeft;
}
handleRowHover(isHover, key,event,currentIndex) {
handleRowHover(isHover, key,event,currentIndex, propsRecord) {
//增加新的API设置是否同步Hover状态提高性能避免无关的渲染
let { syncHover,onRowHover,data } = this.props;
const record = data[currentIndex];
//fix:树形表onRowHover返回参数异常
let { isTreeType } = this;
const record = isTreeType ? propsRecord : data[currentIndex];
// 固定列、或者含有hoverdom时情况下同步hover状态
if(this.columnManager.isAnyColumnsFixed() && syncHover ){
this.hoverKey = key;

View File

@ -413,20 +413,20 @@ class TableRow extends Component{
}
onMouseEnter(e) {
const { onHover, hoverKey,fixedIndex,syncHover } = this.props;
const { onHover, hoverKey,fixedIndex,syncHover,record } = this.props;
if(syncHover){
this.setState({ hovered: true });
}
onHover(true, hoverKey,e,fixedIndex);
onHover(true, hoverKey,e,fixedIndex,record);
}
onMouseLeave(e) {
const { onHover, hoverKey ,fixedIndex,syncHover} = this.props;
const { onHover, hoverKey ,fixedIndex,syncHover,record} = this.props;
if(syncHover){
this.setState({ hovered: false });
}
onHover(false, hoverKey,e,fixedIndex);
onHover(false, hoverKey,e,fixedIndex,record);
}
set =(fn)=> {