首页 前端知识 TS实现Optional typescript 函数推算非必填项

TS实现Optional typescript 函数推算非必填项

2024-06-08 09:06:25 前端知识 前端哥 70 393 我要收藏

typescript实现类型推算

在代码中我们需要实现condition和examineState这两个类型可填,我们也可以通过这种方式去实现
但是在字段很多而且在应用场景很多的时候这样写很麻烦也可能你这个地方需要必填另外一个地方不需要必填这样就造成了全局很多的重复代码。而且也不便于维护。

export type ContractParams = {
  current: number;
  pageSize: number;
  phone: string;
  condition?: string;
  examineState?: string;
};

我们可以通过Omit<T,K>通过传入参数去剔除我们非必填项,然后通过Pick选取提出的非必填项在使用typeScript的partial函数变成非必填然后使用&把两个type合并成一个。这样的函数在全局就可以直接使用也不会造成重复的typeScript代码。

export type ContractParams = {
  current: number;
  pageSize: number;
  phone: string;
  condition: string;
  examineState: string;
};

type Optional<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
export type ContractIteme = Optional<ContractParams, 'condition'>;

转载请注明出处或者链接地址:https://www.qianduange.cn//article/11458.html
标签
评论
发布的文章

echarts柱状图自动轮播

2024-06-16 01:06:46

Echarts--markPoint属性

2024-06-16 01:06:45

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!