diff --git a/packages/dx-react-grid/src/plugins/table-tree-column.test.tsx b/packages/dx-react-grid/src/plugins/table-tree-column.test.tsx
index eae848c7fc..5f0deb8e6d 100644
--- a/packages/dx-react-grid/src/plugins/table-tree-column.test.tsx
+++ b/packages/dx-react-grid/src/plugins/table-tree-column.test.tsx
@@ -224,4 +224,50 @@ describe('TableTreeColumn', () => {
value: defaultDeps.template.tableCell.tableRow.row.value,
});
});
+
+ it('should change "for" property in runtime', () => {
+ class Test extends React.Component {
+ constructor(props) {
+ super(props);
+ this.state = {
+ columnName: props.columnName,
+ };
+ }
+
+ render() {
+ const { columnName } = this.state;
+ isTreeTableCell.mockImplementation((_, tableColumn) => (
+ tableColumn.column.name === columnName
+ ));
+
+ return(
+
+ {pluginDepsToComponents(defaultDeps)}
+
+
+ );
+ }
+ }
+
+ const tree = mount((
+
+ ));
+
+ expect(tree.find(defaultProps.cellComponent).exists())
+ .toBeFalsy();
+
+ tree.setState({
+ columnName: 'a',
+ });
+
+ expect(tree.find(defaultProps.cellComponent).exists())
+ .toBeTruthy();
+ expect(tree.find(defaultProps.cellComponent).props().column.name)
+ .toEqual('a');
+ });
});
diff --git a/packages/dx-react-grid/src/plugins/table-tree-column.tsx b/packages/dx-react-grid/src/plugins/table-tree-column.tsx
index 981cb40ba7..5633c19b33 100644
--- a/packages/dx-react-grid/src/plugins/table-tree-column.tsx
+++ b/packages/dx-react-grid/src/plugins/table-tree-column.tsx
@@ -40,6 +40,7 @@ class TableTreeColumnBase extends React.PureComponent {
{ name: 'Table' },
{ name: 'TableHeaderRow', optional: true },
]}
+ key={forColumnName}
>