Reputation: 2495
I am trying to implement a React Table in my Application which is a collapsible/Expandable in nature. Something like this:
https://ant.design/components/table/#components-table-demo-expand
The code for above is:
import React from 'react';
import ReactDOM from 'react-dom';
import 'antd/dist/antd.css';
import './index.css';
import { Table } from 'antd';
const columns = [
{ title: 'Name', dataIndex: 'name', key: 'name' },
{ title: 'Age', dataIndex: 'age', key: 'age' },
{ title: 'Address', dataIndex: 'address', key: 'address' },
{
title: 'Action',
dataIndex: '',
key: 'x',
render: () => <a>Delete</a>,
},
];
const data = [
{
key: 1,
name: 'John Brown',
age: 32,
address: 'New York No. 1 Lake Park',
description: 'My name is John Brown, I am 32 years old, living in New York No. 1 Lake Park.',
},
{
key: 2,
name: 'Jim Green',
age: 42,
address: 'London No. 1 Lake Park',
description: 'My name is Jim Green, I am 42 years old, living in London No. 1 Lake Park.',
},
{
key: 3,
name: 'Not Expandable',
age: 29,
address: 'Jiangsu No. 1 Lake Park',
description: 'This not expandable',
},
{
key: 4,
name: 'Joe Black',
age: 32,
address: 'Sidney No. 1 Lake Park',
description: 'My name is Joe Black, I am 32 years old, living in Sidney No. 1 Lake Park.',
},
];
ReactDOM.render(
<Table
columns={columns}
expandable={{
expandedRowRender: record => <p style={{ margin: 0 }}>{record.description}</p>,
rowExpandable: record => record.name !== 'Not Expandable',
}}
dataSource={data}
/>,
document.getElementById('container'),
);
I want to remove the + button and make it such that the whole row is clickable. How Can I do that ?
Upvotes: 0
Views: 464
Reputation: 13682
See expandable props. Set expandRowByClick
to true and provide custom expandIcon
i.e. an empty div
Code snippet
<Table
columns={columns}
expandRowByClick
expandable={{
expandedRowRender: record => (
<p style={{ margin: 0 }}>{record.description}</p>
),
rowExpandable: record => record.name !== "Not Expandable",
expandIcon: ({ expanded, onExpand, record }) =>
expanded ? (
<div onClick={e => onExpand(record, e)} />
) : (
<div onClick={e => onExpand(record, e)} />
)
}}
dataSource={data}
/>,
Upvotes: 1
Reputation: 224
Read the documentation of the antd table https://ant.design/components/table/
Upvotes: 0