当前位置:首页 > 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函数自定义列内容,例如添加链接或按钮:

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实现排序与筛选:

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' }}
/>

如何使用react的Table组件

分享给朋友:

相关文章

vue组件的实现

vue组件的实现

Vue 组件的实现方式 Vue 组件可以通过多种方式实现,主要包括单文件组件(SFC)、全局注册和局部注册。以下是常见的实现方法: 单文件组件(SFC) 单文件组件是 Vue 最推荐的组件化开发方…

vue实现多级组件

vue实现多级组件

Vue 多级组件实现方法 在 Vue 中实现多级组件通常涉及父子组件通信、动态组件或递归组件等技术。以下是几种常见实现方式: 父子组件嵌套 通过逐层嵌套组件实现多级结构,适用于固定层级场景:…

vue穿梭框组件实现

vue穿梭框组件实现

实现 Vue 穿梭框组件的基本思路 穿梭框(Transfer)组件通常用于在两个列表之间移动数据项。核心功能包括左侧列表、右侧列表、移动按钮(左移、右移、全选等)以及数据项的渲染与交互。 基础结构…

vue实现下拉框组件

vue实现下拉框组件

Vue 下拉框组件实现 基础实现 创建基础下拉框组件,使用v-model实现双向数据绑定: <template> <div class="dropdown">…

react moment如何使用

react moment如何使用

安装 react-moment 通过 npm 或 yarn 安装 react-moment: npm install react-moment 或 yarn add react-moment 基本…

如何使用java

如何使用java

安装Java开发环境 下载并安装Java Development Kit(JDK),推荐从Oracle官网或OpenJDK获取最新版本。安装完成后配置环境变量,确保JAVA_HOME指向JDK安装路径…