typescript 对Ant Design表使用自定义排序器函数时出现列类型错误

xdyibdwo  于 2023-03-04  发布在  TypeScript
关注(0)|答案(1)|浏览(135)

我尝试在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写出了这个代码

idfiyjo8

idfiyjo81#

compoareStringsByKey<InterfaceOfTableRow, keyof InterfaceOfTableRow>('id')解决了这个问题,谢谢大家!

相关问题