import React from 'react';
import ReactDOM from 'react-dom';
import Table from '..';
const generateRandomKey = () => Math.ceil(Math.random() * 10000);
const data = [
{
key: 1,
name: 'Jack',
age: 32,
address: 'Zhejiang Province, China',
// 非叶子结点需要带着children,并且设置一条空数据先
children: [{ key: generateRandomKey() }],
},
{
key: 2,
name: 'Rose',
age: 30,
address: 'Beijing, China',
isLeaf: true,
},
{
key: 3,
name: 'Andy',
age: 22,
address: 'Shanghai, China',
isLeaf: true,
},
];
class App extends React.Component {
state = {
dataSource: data,
loading: false,
openRowKeys: [],
};
render() {
return (
{
if (currentRecord.isLeaf) {
currentRecord.children = [];
} else if (expanded) {
this.setState({ loading: true });
// Get data async
setTimeout(() => {
const success = true;
let keys = openRowKeys;
if (!success) {
currentRecord.children = [{ key: generateRandomKey() }];
keys = keys.filter(cu => cu !== currentRowKey);
} else {
currentRecord.children = [
{
key: `${currentRowKey}-a`,
name: `${currentRecord.name}-son`,
age: 10,
address: 'Earth',
// 非叶子结点需要带着children,并且设置一条空数据先
children: [{ key: generateRandomKey() }],
},
{
key: `${currentRowKey}-b`,
name: `${currentRecord.name}-daughter`,
age: 10,
address: 'Earth',
isLeaf: true,
},
];
}
this.setState({
openRowKeys: keys,
loading: false,
});
}, 300);
} else {
this.setState({
openRowKeys,
});
}
console.log(openRowKeys, currentRowKey, expanded, currentRecord);
}}
primaryKey="key"
isTree
loading={this.state.loading}
rowSelection={{ onChange: () => {} }}
>
);
}
}
ReactDOM.render(, document.getElementById('table-demo-29'));