Omit<>的用法

export type RMCPickerViewProps = Omit<

PickerViewPropsType,

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

> & {

columns: PickerColumn\[\];

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

};

这个类型的核心作用是:在继承 PickerViewPropsType 的大部分属性的同时,强制要求实现 columnshandleSelect 这两个关键属性,并排除掉 datacolscascadeonChange 这几个不需要的属性

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

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

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

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

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

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


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

相关推荐
keyipatience11 分钟前
线程栈与TLS和线程互斥
java·linux·服务器·开发语言·ubuntu
我的xiaodoujiao15 分钟前
快速学习Python基础知识详细图文教程9--函数进阶
开发语言·python·学习·测试工具
爱喝水的鱼丶1 小时前
SAP-ABAP:ALV通用封装实践——搭建可复用的ALV开发工具类,减少80%重复代码
开发语言·性能优化·sap·abap·erp·alv
脱胎换骨-军哥1 小时前
C++/Rust无缝互操作:混合系统新常态
开发语言·c++·rust
songroom2 小时前
Kimi K3:Rust封装XTP接口详细教程实践
开发语言·后端·rust
瑞瑞小同学2 小时前
处理echarts x轴内容过多,重叠问题
前端·javascript·echarts
kebeiovo2 小时前
游戏服务端开发:Actor模型详解(Go语言)
开发语言·后端·golang
HexCIer2 小时前
面向未来的原子化 CSS:UnoCSS 核心架构分析与 Tailwind CSS 现状
前端·css·vite
迷途呀2 小时前
Python:函数中的参数类型
开发语言·笔记·python·langchain·nlp
程序员黑豆2 小时前
鸿蒙应用开发中的单位详解:px、vp、fp、lpx
前端·harmonyos