antd Table RowSelection getCheckboxProps 设置不生效?

68 阅读1分钟

最近在写一个新需求时,表格要求在按照数据的某个字段判定是否能选择;

image.png

正好,在 antd Table 的 RowSeclection 内有 getCheckboxProps 可以设置 checkbox 的 disabled 属性; image.png

但是一开始基本按照这个设置了之后,发现要不就是全禁止了,要不就是全显示了,大概就是图片下面这样

image.png image.png

最后去查看了下源码,发现 antd 内部,是会根据 key 生成一个 map 结构,那看到这里就能确定了,是 Table 的 dataSource 内,我设置的 key 的字段为 null ,导致生成的 map 内就一个键值对,导致 antd 后续在处理时,渲染的都一致了;最后把数据处理了一下, 保证 rowKey 字段在 dataSource 内拥有,并且唯一,显示就正常了; image.png