ZBLOG

清除选中项

在使用 Ant Design 的 Table 组件时,可以通过修改 rowSelection 中的 selectedRowKeys 来清除选中的项。以下是一个实现示例,展示如何设置和清除选中项。

示例代码

import React, { useState } from 'react';
import { Table, Button } from 'antd';

const MyTableComponent = () => {
    const [selectedRowKeys, setSelectedRowKeys] = useState([]); // 用于管理选中项
    const [loading, setLoading] = useState(false);
    
    // 假设这是您的数据源
    const initData = [
        {
            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',
        },
        // ...其他数据
    ];

    const rowSelection = {
        selectedRowKeys,
        onChange: (newSelectedRowKeys) => {
            setSelectedRowKeys(newSelectedRowKeys); // 更新选中的行键
        },
    };

    const clearSelection = () => {
        setSelectedRowKeys([]); // 清空选中的行
    };

    return (
        <div>
            <Button onClick={clearSelection} style={{ marginBottom: 16 }}>
                清除选中项
            </Button>
            
            <Table
                pagination={false}
                rowSelection={rowSelection}
                columns={[
                    { title: '姓名', dataIndex: 'name', key: 'name' },
                    { title: '年龄', dataIndex: 'age', key: 'age' },
                    { title: '地址', dataIndex: 'address', key: 'address' },
                ]}
                dataSource={initData}
                loading={loading}
            />
        </div>
    );
};

export default MyTableComponent;

说明

  • 状态管理

    • 使用 useState 钩子来管理当前选中的行键(selectedRowKeys)。
  • rowSelection 对象

    • rowSelection 中定义 selectedRowKeys 和其变化的回调函数 onChange,用于更新所选的行。
  • 清除选中项

    • 定义一个 clearSelection 函数,调用该函数时将 selectedRowKeys 设置为空数组,以清空所有选中项。

操作步骤

  1. 用户选择某些表格行。
  2. 点击 “清除选中项” 按钮。
  3. 表格的选择将被重置,没有任何行被选中。

这样,通过简单的状态更新,就可以实现对表格选择状态的控制。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=19047

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?