是的,Antd Table可以具有多个自定义选择功能。您可以使用rowSelection
属性和render
函数来实现自定义选择功能。
下面是一个示例代码:
import React, { useState } from 'react';
import { Table } from 'antd';
const data = [
{ id: 1, name: 'John Doe', age: 25 },
{ id: 2, name: 'Jane Smith', age: 30 },
{ id: 3, name: 'Bob Johnson', age: 35 },
];
const App = () => {
const [selectedRows, setSelectedRows] = useState([]);
const rowSelection = {
selectedRows,
onChange: (selectedRowKeys, selectedRows) => {
setSelectedRows(selectedRows);
},
getCheckboxProps: (record) => ({
disabled: record.name === 'Bob Johnson', // 设置某个行不可选择
}),
};
const renderCustomSelection = (text, record) => {
return (
{record.name}
);
};
const columns = [
{
title: 'Name',
dataIndex: 'name',
key: 'name',
render: renderCustomSelection,
},
{
title: 'Age',
dataIndex: 'age',
key: 'age',
},
];
return
;
};
export default App;
在上述示例中,我们通过rowSelection
属性设置了选择功能。onChange
回调函数用于更新选中的行。getCheckboxProps
函数用于设置某个行是否可选择。
在columns
中,我们使用render
函数自定义了选择列的渲染。在这个示例中,我们在选择列中添加了一个复选框,并使用disabled
属性设置了某个行不可选择。
这样,您就可以实现具有多个自定义选择功能的Antd Table了。