Omit<>的用法

export type RMCPickerViewProps = Omit<

PickerViewPropsType,

'data' | 'cols' | 'cascade' | 'onChange'

> & {

columns: PickerColumn\[\];

handleSelect: (value: PickerValue, index: number) => void;

};

这个类型的核心作用是:在继承 PickerViewPropsType 的大部分属性的同时,强制要求实现 columns 和 handleSelect 这两个关键属性,并排除掉 data、cols、cascade、onChange 这几个不需要的属性。

  • Omit<PickerViewPropsType, 'data' | 'cols' | 'cascade' | 'onChange'>:

    • 这部分表示从 PickerViewPropsType 类型中"剔除"掉 data、cols、cascade、onChange 这四个属性。也就是说,使用 RMCPickerViewProps 的组件将不能直接使用这四个属性。
  • & { columns: PickerColumn[]; handleSelect: (value: PickerValue, index: number) => void; }:

    • 这部分表示在剔除上述属性后,再"添加"上 columns 和 handleSelect 这两个新的必需属性。

    • columns 是一个 PickerColumn 类型的数组,通常用于定义多列选择器的每一列数据。

    • handleSelect 是一个回调函数,当用户选择某个选项时触发,接收选中的值 value 和所在列的索引 index 作为参数。

这个类型定义通常用于封装一个更高级的、基于 PickerView 的自定义选择器组件,通过这种方式可以更好地控制组件的接口和行为。


这个类型定义本身是正确的,但要确保它能正常工作,关键在于 PickerViewPropsType、PickerColumn 和 PickerValue 这几个类型是否正确定义并被正确引入。

相关推荐
孟健22 分钟前
Claude Code 同需求写两版对比:装不装 frontend-design 差多远?
前端·ai编程·claude
w_zero_one38 分钟前
递归算法(一)
java·开发语言·算法
OpsEye1 小时前
大模型 Token 计量不准,是什么原因,怎么解决??
javascript·ai编程
Julien20042 小时前
管理机密(一)
运维·服务器·开发语言·学习方法
Chen_harmony2 小时前
七、STL与string类
开发语言·c++
沐晓时光2 小时前
C语言入门,字符串和字符串函数知识讲解
c语言·开发语言
xxxiugou1232 小时前
C++命名空间与引用全解析
开发语言·c++
梦de天空一米16882 小时前
【一个重复id让游戏卡在62%,聊聊配置表检查】
前端
ryn483982 小时前
01 一个功能模块,怎么分层才不乱
前端·ai编程·claude
Amos_Web2 小时前
通过 Rspack 源码学 Rust(五):读懂 Result 与问号运算符的错误返回
前端