/* eslint-disable no-console,func-names,react/no-multi-comp */ import React from 'react'; import ReactDOM from 'react-dom'; import Table from 'rc-table'; import 'rc-table/assets/index.less'; const tableData = [ { key: 0, a: '123' }, { key: 1, a: 'cdd', b: 'edd' }, { key: 2, a: '1333', c: 'eee', d: 2 }, ]; class Demo extends React.Component { state = { data: tableData, expandedRowKeys: [], expandIconAsCell: true, expandRowByClick: false, } onExpand = (expanded, record) => { console.log('onExpand', expanded, record); } onExpandedRowsChange = (rows) => { this.setState({ expandedRowKeys: rows, }); } onExpandIconAsCellChange = (e) => { this.setState({ expandIconAsCell: e.target.checked, }); } onExpandRowByClickChange = (e) => { this.setState({ expandRowByClick: e.target.checked, }); } columns = [ { title: 'title 1', dataIndex: 'a', key: 'a', width: 100 }, { title: 'title 2', dataIndex: 'b', key: 'b', width: 100 }, { title: 'title 3', dataIndex: 'c', key: 'c', width: 200 }, { title: 'Operation', dataIndex: '', key: 'x', render: this.renderAction }, ] toggleButton() { if (this.state.expandedRowKeys.length) { const closeAll = () => this.setState({ expandedRowKeys: [] }); return ; } const openAll = () => this.setState({ expandedRowKeys: [0, 1, 2] }); return ; } remove(index) { const data = this.state.data; data.splice(index, 1); this.setState({ data }); } expandedRowRender(record) { // console.log(record); return

extra: {record.a}

; } renderAction(o, row, index) { return this.remove(index)}>Delete; } render() { const { expandIconAsCell, expandRowByClick, expandedRowKeys, data } = this.state; return (
{this.toggleButton()} expandIconAsCell expandRowByClick ); } } ReactDOM.render(

expandedRowRender

, document.getElementById('__react-content') );