当前位置:首页 > 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 文件,包含 template、script 和 style 三个部分。通过 props 接收父组件传递的数据,使用 $emit 触发自…

uniapp 滑动组件

uniapp 滑动组件

uniapp 滑动组件实现方法 使用swiper组件 uniapp内置的swiper组件可以实现滑动效果,适用于轮播图或页面切换场景。 示例代码: <swiper :indicator-d…

vue实现盖章组件

vue实现盖章组件

实现Vue盖章组件的步骤 组件结构设计 创建一个Vue组件,包含画布元素和必要的控制按钮。画布用于显示盖章效果,按钮用于触发盖章操作。组件需要接收图片和盖章位置等参数。 <template&g…

vue 实现通用组件

vue 实现通用组件

Vue 实现通用组件的方法 封装可复用的组件 将通用功能抽象为独立组件,通过props接收外部数据,通过events与父组件通信。例如封装按钮、输入框、弹窗等基础组件。 使用插槽增强灵活性 通过默认…

vue实现图片组件

vue实现图片组件

Vue 实现图片组件的方法 基础图片组件实现 创建一个基础的图片组件,支持动态传入图片路径和替代文本。在Vue项目中新建一个ImageComponent.vue文件: <template>…

vue实现树形组件

vue实现树形组件

实现树形组件的基本思路 在Vue中实现树形组件通常涉及递归组件和动态数据渲染。核心是通过组件自身调用自身,逐层渲染嵌套的节点数据。 定义树形数据结构 树形数据通常是一个包含children属性的对象…