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

相关推荐
不爱说话郭德纲22 分钟前
告别漫长的HbuilderX云打包排队!uni-app x 安卓本地打包保姆级教程(附白屏、包体积过大排坑指南)
android·前端·uni-app
大雨还洅下42 分钟前
前端JS: 虚拟dom是什么? 原理? 优缺点?
javascript
唐叔在学习43 分钟前
[前端特效] 左滑显示按钮的实现介绍
前端·javascript
用户5282290301801 小时前
【学习笔记】ECMAScript 词法环境全解析
前端
青青家的小灰灰1 小时前
React 架构进阶:自定义 Hooks 的高级设计模式与最佳实践
前端·react.js·前端框架
Angelial1 小时前
Vite 性能瓶颈排查标准流程
前端
不要秃头啊1 小时前
别再谈提效了:AI 时代的开发范式本质变了
前端·后端·程序员
青青家的小灰灰1 小时前
深入理解事件循环:异步编程的基石
前端·javascript·面试
用泥种荷花1 小时前
【LangChain.js学习】 向量数据库(内存/持久化)
前端
simon_luv_pho2 小时前
一行代码把网页变成 AI Agent?
前端