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

相关推荐
无敌秋3 分钟前
C++ 抽象工厂模式实战指南
开发语言·c++·抽象工厂模式
牧码岛4 分钟前
Web前端之JavaScrip中的Array、Object、Map和Set详解
前端·javascript·web·web前端
Bigger4 分钟前
😮‍💨 有了 AI 之后,我怎么感觉反而更累了?
前端·aigc·ai编程
Dxy12393102166 分钟前
HTML中使用Canvas动态图形渲染:解锁Web交互新维度
前端·html·图形渲染
西陵7 分钟前
如何实现 Claude 生成式 UI?一套可落地的工程方案
前端·人工智能·ai编程
FlyWIHTSKY8 分钟前
Vue 3 + 原生 CSS Float
前端·css·vue.js
小书房11 分钟前
Kotlin使用体验及理解1
android·开发语言·kotlin
energy_DT13 分钟前
2026海上钻井平台可视化运维:红外热成像、超声波、AI视频巡检、数字孪生
前端
ONLYOFFICE14 分钟前
如何将 Word 集成到 Web 应用程序? 5 种方法详解与对比
前端·word·onlyoffice
533_16 分钟前
[pinia] vue3中监听pinia值的变化
前端·javascript·vue.js