当前位置:首页 > React

如何使用react的Table组件

2026-01-25 03:32:19React

安装依赖

确保项目已安装Ant Design库,它是React中常用的UI组件库,包含Table组件。通过npm或yarn安装:

npm install antd
# 或
yarn add antd

基本用法

引入Table组件及必要样式,通过dataSourcecolumns定义数据与列配置:

import { Table } from 'antd';
import 'antd/dist/antd.css';

const dataSource = [
  { key: '1', name: 'John', age: 32 },
  { key: '2', name: 'Jane', age: 28 },
];

const columns = [
  { title: 'Name', dataIndex: 'name', key: 'name' },
  { title: 'Age', dataIndex: 'age', key: 'age' },
];

function App() {
  return <Table dataSource={dataSource} columns={columns} />;
}

自定义列渲染

通过render函数自定义列内容,例如添加链接或按钮:

如何使用react的Table组件

const columns = [
  {
    title: 'Action',
    key: 'action',
    render: (_, record) => (
      <a onClick={() => alert(record.name)}>Edit</a>
    ),
  },
];

分页配置

Table默认支持分页,可通过pagination属性调整:

<Table
  dataSource={dataSource}
  columns={columns}
  pagination={{ pageSize: 5, showSizeChanger: true }}
/>

排序与筛选

在列配置中添加sorterfilters实现排序与筛选:

如何使用react的Table组件

const columns = [
  {
    title: 'Age',
    dataIndex: 'age',
    key: 'age',
    sorter: (a, b) => a.age - b.age,
    filters: [
      { text: 'Under 30', value: 30 },
      { text: 'Over 30', value: 50 },
    ],
    onFilter: (value, record) => record.age < value,
  },
];

异步加载数据

结合useStateuseEffect实现动态数据加载:

import { useState, useEffect } from 'react';

function App() {
  const [data, setData] = useState([]);
  useEffect(() => {
    fetch('https://api.example.com/data')
      .then(res => res.json())
      .then(data => setData(data));
  }, []);

  return <Table dataSource={data} columns={columns} />;
}

行选择功能

通过rowSelection配置多选或单选:

const rowSelection = {
  onChange: (selectedRowKeys, selectedRows) => {
    console.log(selectedRows);
  },
};

<Table rowSelection={rowSelection} dataSource={dataSource} columns={columns} />

样式调整

使用className或内联样式覆盖默认样式:

<Table
  dataSource={dataSource}
  columns={columns}
  style={{ backgroundColor: '#f0f0f0' }}
/>

分享给朋友:

相关文章

vue实现组件循环图片

vue实现组件循环图片

Vue 实现组件循环图片的方法 在 Vue 中实现组件循环图片通常可以通过 v-for 指令结合动态数据绑定完成。以下是几种常见的实现方式: 使用静态图片路径数组 假设有一组本地图片路径,可以通过数…

react 如何使用canvas

react 如何使用canvas

使用 Canvas 在 React 中的方法 基本用法 在 React 中使用 canvas 需要通过 useRef 或 createRef 获取 DOM 节点。以下是一个简单的示例: im…

react如何引入组件

react如何引入组件

引入组件的常见方法 直接导入组件文件 通过import语句从指定路径引入组件文件,适用于项目内自定义组件。假设组件文件位于./components/Button.js: import Button…

vue 实现弹窗组件

vue 实现弹窗组件

Vue 弹窗组件实现 基础弹窗组件结构 创建一个名为Modal.vue的文件,定义弹窗的基础结构和样式: <template> <div class="modal-mask"…

vue基础组件实现

vue基础组件实现

Vue 基础组件实现 组件定义 使用 Vue.component 全局注册或局部注册组件。全局注册适合通用组件,局部注册适合特定页面使用的组件。 // 全局注册 Vue.component('my-…

vue实现轮播组件

vue实现轮播组件

使用Swiper实现轮播组件 Swiper是一个流行的开源轮播库,支持Vue集成。安装Swiper和Vue相关依赖: npm install swiper vue-awesome-swiper 引入…