--- order: 4 title: en-US: Custom selection zh-CN: 自定义选择项 --- ## zh-CN 通过 `rowSelection.selections` 自定义选择项,默认不显示下拉选项,设为 `true` 时显示默认选择项。 ## en-US Use `rowSelection.selections` custom selections, default no select dropdown, show default selections via setting to `true`. ```tsx import { Table } from 'antd'; import type { ColumnsType } from 'antd/lib/table'; import type { TableRowSelection } from 'antd/lib/table/interface'; import React, { useState } from 'react'; interface DataType { key: React.Key; name: string; age: number; address: string; } const columns: ColumnsType = [ { title: 'Name', dataIndex: 'name', }, { title: 'Age', dataIndex: 'age', }, { title: 'Address', dataIndex: 'address', }, ]; const data: DataType[] = []; for (let i = 0; i < 46; i++) { data.push({ key: i, name: `Edward King ${i}`, age: 32, address: `London, Park Lane no. ${i}`, }); } const App: React.FC = () => { const [selectedRowKeys, setSelectedRowKeys] = useState([]); const onSelectChange = (newSelectedRowKeys: React.Key[]) => { console.log('selectedRowKeys changed: ', selectedRowKeys); setSelectedRowKeys(newSelectedRowKeys); }; const rowSelection: TableRowSelection = { selectedRowKeys, onChange: onSelectChange, selections: [ Table.SELECTION_ALL, Table.SELECTION_INVERT, Table.SELECTION_NONE, { key: 'odd', text: 'Select Odd Row', onSelect: changableRowKeys => { let newSelectedRowKeys = []; newSelectedRowKeys = changableRowKeys.filter((_, index) => { if (index % 2 !== 0) { return false; } return true; }); setSelectedRowKeys(newSelectedRowKeys); }, }, { key: 'even', text: 'Select Even Row', onSelect: changableRowKeys => { let newSelectedRowKeys = []; newSelectedRowKeys = changableRowKeys.filter((_, index) => { if (index % 2 !== 0) { return true; } return false; }); setSelectedRowKeys(newSelectedRowKeys); }, }, ], }; return ; }; export default App; ```