Skip to content

Commit cd93a3f

Browse files
committed
fix #1562
1 parent b1384cd commit cd93a3f

File tree

2 files changed

+15
-5
lines changed

2 files changed

+15
-5
lines changed

src/TableBody.js

+10-4
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ class TableBody extends Component {
9191
);
9292
} else {
9393
// add by bluespring for className customize
94+
let formattedValue;
9495
let columnChild = fieldValue && fieldValue.toString();
9596
let columnTitle = null;
9697
let tdClassName = column.className;
@@ -99,17 +100,22 @@ class TableBody extends Component {
99100
}
100101

101102
if (typeof column.format !== 'undefined') {
102-
const formattedValue = column.format(fieldValue, data, column.formatExtraData, r);
103+
formattedValue = column.format(fieldValue, data, column.formatExtraData, r);
103104
if (!React.isValidElement(formattedValue)) {
104105
columnChild = (
105106
<div dangerouslySetInnerHTML={ { __html: formattedValue } }></div>
106107
);
107108
} else {
108109
columnChild = formattedValue;
109-
columnTitle = column.columnTitle && formattedValue ? formattedValue.toString() : null;
110110
}
111-
} else {
112-
columnTitle = column.columnTitle && fieldValue ? fieldValue.toString() : null;
111+
}
112+
if (Utils.isFunction(column.columnTitle)) {
113+
columnTitle = column.columnTitle(fieldValue, data);
114+
} else if (typeof column.columnTitle === 'string') {
115+
columnTitle = column.columnTitle;
116+
} else if (column.columnTitle) {
117+
if (formattedValue) columnTitle = formattedValue.toString();
118+
else if (fieldValue) columnTitle = fieldValue.toString();
113119
}
114120
return (
115121
<TableColumn key={ i }

src/TableHeaderColumn.js

+5-1
Original file line numberDiff line numberDiff line change
@@ -258,7 +258,11 @@ TableHeaderColumn.propTypes = {
258258
columnClassName: PropTypes.any,
259259
editColumnClassName: PropTypes.any,
260260
invalidEditColumnClassName: PropTypes.any,
261-
columnTitle: PropTypes.bool,
261+
columnTitle: PropTypes.oneOfType([
262+
PropTypes.bool,
263+
PropTypes.func,
264+
PropTypes.string
265+
]),
262266
filterFormatted: PropTypes.bool,
263267
filterValue: PropTypes.func,
264268
sort: PropTypes.string,

0 commit comments

Comments
 (0)