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

相关推荐
薛定谔的猫-菜鸟程序员2 小时前
从零到一:用Electron打造专业的Markdown转Word桌面应用。
javascript·electron·word
XiaoYu20022 小时前
第9章 Three.js载入模型GLTF
前端·javascript·three.js
m0_635647482 小时前
Qt使用第三方组件库新手教程(一)
开发语言·c++·qt
雒珣2 小时前
控制QT生成目录
开发语言·qt
.又是新的一天.2 小时前
【前端Web开发HTML5+CSS3+移动web视频教程】01 html- 标签之文字排版、图片、链接、音视频
前端·css3·html5
神奇的程序员2 小时前
开发了一个nginx日志分析面板
前端
jllllyuz2 小时前
单载波中继系统资源分配算法综述与实现
开发语言·matlab
Hello.Reader2 小时前
PyFlink Table Arrow 原理、Exactly-Once、Batch Size、内存风险与最佳实践
开发语言·batch
pas1362 小时前
19-mini-vue setup $el $data $props
javascript·vue.js·ecmascript
阿拉丁的梦2 小时前
【C4D实用脚本】清除废点及删除了面的选择tag和材质tag及材质--AI编程
服务器·前端·材质