代码是这么写的
expandedRowRender = (record, index) => {
let children = JSON.parse(JSON.stringify(record.children));
return <Table columns={this.state.columns2} dataSource={children} pagination={false}/>;
};
onExpand =(expanded, record)=>{
console.log(expanded, record);
let index = '';
let sorts = this.state.sorts;
for (let i = 0; i < sorts.length; i++) {
if(sorts[i].mtId == record.mtId){
index = i
}
}
if (expanded === false) {
console.log("合并!");
if(index!==''){
sorts[index].children = [];
// 表格数据
this.setState({
sorts
});
}
} else {
this.setState({ loading: true })
// 查询参数
let obj = {
mId : this.state.meetIngData.mId,
mfType : 1,
mtId:record.mtId,
page : 1,
rows : 10000,
}
postfn('/meeting/qryPgMeetingFileAndFileType', obj).then(res => {
this.setState({ loading: false })
if (res.data.resCode === '1') {
res.data.rows.forEach((item,index)=>{
item.key = index;
});
if(index!==''){
sorts[index].children = res.data.rows;
// 表格数据
this.setState({
sorts
});
}
console.log('files',res.data.rows);
} else {
message.error(res.data.resMsg)
}
}).catch((err) => {
message.warn('网络错误,请重试')
console.log('err',err);
this.setState({ loading: false })
})
}
}
render() {
let { columns,sorts} = this.state;
return (
<div>
<div className="">
<Table
className="components-table-demo-nested"
expandedRowRender={this.expandedRowRender}
onExpand={this.onExpand}
columns={columns}
dataSource={sorts}
/>
</div>
</div>
);
}
渲染的结果是
展开后
多余的列