antd table的选择框选择
1.rowSelection为选择功能的配置,rowSelection可以进行多个方法的配置
1.官方写法:
const onSelectChange = selectedRowKeys => {
console.log('selectedRowKeys changed: ', selectedRowKeys);
};
const rowSelection = {
selectedRowKeys,
onChange: onSelectChange,
};
<Table rowSelection={{...rowSelection}} columns={columns} dataSource={data} />
!!!就出现如下表单具有选择框的表格↓
2.getCheckboxProps选择框的默认属性配置,可以用来设置表格某列默认被禁用,但是不能设置默认被选中
const rowSelection = {
selectedRowKeys,
onChange: onSelectChange,
getCheckboxProps: record => ({
//默认禁用某列
disabled: record.name === 'Disabled User',
name: record.name,
}),
};
!注意getCheckboxProps中的disable不能替换为checked和getCheckboxProps(选中),会报错误
解决方法:
1.设置默认初始值
2.onChange中 setNongId(record)赋值
3.
//设置默认初始值
const [nongId,setNongId] = useState(['3'])
const rowSelection = {
//默认选中
selectedRowKeys:nongId,
onChange: (record,selectedRowKeys, selectedRows) => {
console.log(record,selectedRowKeys,'selectedRows');
setNongId(record)
},
//默认禁止某列
getCheckboxProps: (record) => ({
disabled: record.name === 'Disabled User',
name: record.name,
}),
}
return (
<div>
<Table rowSelection={{...rowSelection}} columns={columns} dataSource={data} />
</div>
)
!如下图所示出现默认值,点击切换时使用useStart赋值就可以了…