首页 > 解决方案 > Typescript-Typing 不适用于联合和泛型

问题描述

所以我希望得到 someConst.getFilterList 的类型。函数中的 args 被推断为 any 并且没有强类型。

type SomeObj = { a: string, b: string };

type FlWithGetFilterListSub<T> = {
    origList?: never,
    getFilterList: getFilterFunc<T, ReadonlyArray<T>>,
} | {
    origList: SomeObj[],
    getFilterList: getFilterFunc<T, ReadonlyArray<SomeObj>>,
};

type FlWithGetFilterList<T> = { listProp: Array<T>, } & FlWithGetFilterListSub<T>;

type getFilterFunc<T, K> = (args: { fullList: K, text: string }) => ReadonlyArray<T>;

const someConst: FlWithGetFilterList<string> = {
    listProp: ['Some String Array'],
    getFilterList: (args) => { const { } = args; return [] },
};

任何有关相同的帮助将不胜感激。感谢和问候。

标签: typescripttypescript-typings

解决方案


推荐阅读