antd 获取table选中行数据_antd—Table的用法

表格 Table - Ant Design​ant.design
989907324b6ef3650e0e29c4ccbb1697.png

一、Table的基本用法

import React from 'react';
import ReactDOM from 'react-dom';
import 'antd/dist/antd.css';
import './index.css';
import { Table, Tag, Space } from 'antd';

//这里是title的内容
const columns = [
  {
    title: 'Name',
    dataIndex: 'name',
    key: 'name',
  },
  {
    title: 'Age',
    dataIndex: 'age',
    key: 'age',
  },
  {
    title: 'Address',
    dataIndex: 'address',
    key: 'address',
  },
];
//这里是表格内的数据
const data = [
  {
    key: '1',
    name: 'John Brown',
    age: 32,
    address: 'New York No. 1 Lake Park',
    tags: ['nice', 'developer'],
  },
  {
    key: '2',
    name: 'Jim Green',
    age: 42,
    address: 'London No. 1 Lake Park',
    tags: ['loser'],
  },
  {
];

ReactDOM.render(<Table columns={columns} dataSource={data} />, document.getElementById('container'));

columns={columns} 代表表头

dataSource={data} 代表表格内的数据

columns 数组内每一项内的dataIndex的value对应下面data数组内key的值,这是他的基本用法

二、Table去掉默认分页

在使用Table组件时,有时候会想把分页去掉那么我们应该怎么做呢

答案是:pagination={false}

代码演示:

  <Table pagination={false}/>

未完待续

可以通过antd的`Table`组件中的`rowSelection`属性来实现多选和单选功能,并通过`selectedRowKeys`属性获取当前选中的key。 具体实现步骤如下: 1. 在`<Table>`组件中添加`rowSelection`属性,设置`type`为`checkbox`表示启用多选功能。 ``` <Table rowSelection={{ type: "checkbox", onChange: this.onSelectChange, selectedRowKeys: this.state.selectedRowKeys }} columns={columns} dataSource={data} /> ``` 2. 在`<Table>`组件中添加`onChange`事件处理函数`onSelectChange`。 ``` onSelectChange = (selectedRowKeys, selectedRows) => { this.setState({ selectedRowKeys }); }; ``` 3. 在`render()`函数中获取当前选中的key。 ``` const { selectedRowKeys } = this.state; ``` 完整示例代码如下: ``` import React from "react"; import ReactDOM from "react-dom"; import { Table } from "antd"; const columns = [ { title: "Name", dataIndex: "name" }, { title: "Age", dataIndex: "age" }, { title: "Address", dataIndex: "address" } ]; const data = [ { key: "1", name: "John Brown", age: 32, address: "New York No. 1 Lake Park" }, { key: "2", name: "Jim Green", age: 42, address: "London No. 1 Lake Park" }, { key: "3", name: "Joe Black", age: 32, address: "Sidney No. 1 Lake Park" }, { key: "4", name: "Jim Red", age: 32, address: "London No. 2 Lake Park" } ]; class App extends React.Component { state = { selectedRowKeys: [] }; onSelectChange = (selectedRowKeys, selectedRows) => { this.setState({ selectedRowKeys }); }; render() { const { selectedRowKeys } = this.state; const rowSelection = { type: "checkbox", onChange: this.onSelectChange, selectedRowKeys }; return ( <Table rowSelection={rowSelection} columns={columns} dataSource={data} /> ); } } ReactDOM.render(<App />, document.getElementById("container")); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值