我尝试在Ant Design Table组件的列中添加一个自定义排序函数,为此,我定义了一个compareStringsByKey
函数,它接受一个泛型类型T
和一个类型为K
的键,该键对应于要排序的对象属性。
下面是代码:
const compareStringsByKey =
<T, K extends keyof T>(key: K) =>
(objA: T, objB: T): number => {
if (typeof objA[key] === 'string' && typeof objB[key] === 'string') {
const upperStrA = (objA[key] as string).toUpperCase();
const upperStrB = (objB[key] as string).toUpperCase();
return upperStrA.localeCompare(upperStrB, 'en', {
numeric: true,
sensitivity: 'base',
caseFirst: 'lower',
});
}
return 0;
};
我正在使用这个函数为表中的一列定义一个自定义排序器。然而,当我试图编译这个代码时,我得到了下面的错误消息。下面是相关代码:
x一个一个一个一个x一个一个二个x
我不确定导致此错误的原因或如何修复。有人能帮忙吗?
我从这个链接Editable Cells写出了这个代码
1条答案
按热度按时间idfiyjo81#
compoareStringsByKey<InterfaceOfTableRow, keyof InterfaceOfTableRow>('id')
解决了这个问题,谢谢大家!