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 这几个类型是否正确定义并被正确引入。

相关推荐
AI浩4 小时前
【Labelme数据操作】LabelMe标注批量复制工具 - 完整教程
运维·服务器·前端
涔溪5 小时前
CSS 网格布局(Grid Layout)核心概念、基础语法、常用属性、实战示例和进阶技巧全面讲解
前端·css
醇氧5 小时前
【Windows】优雅启动:解析一个 Java 服务的后台启动脚本
java·开发语言·windows
2401_878454535 小时前
浏览器工作原理
前端·javascript
西陵5 小时前
为什么说 AI 赋能前端开发,已经不是选择题,而是必然趋势?
前端·架构·ai编程
MapGIS技术支持6 小时前
MapGIS Objects Java计算一个三维点到平面的距离
java·开发语言·平面·制图·mapgis
程序员zgh6 小时前
C++ 互斥锁、读写锁、原子操作、条件变量
c语言·开发语言·jvm·c++
小灰灰搞电子6 小时前
Qt 重写QRadioButton实现动态radioButton源码分享
开发语言·qt·命令模式
by__csdn6 小时前
Vue3 setup()函数终极攻略:从入门到精通
开发语言·前端·javascript·vue.js·性能优化·typescript·ecmascript
喵了meme7 小时前
C语言实战5
c语言·开发语言