nutui-react icon indicating copy to clipboard operation
nutui-react copied to clipboard

PickerOption 类型不准确,建议使用范型

Open zhangminggeek opened this issue 1 year ago • 2 comments

NutUI React 包名

@nutui/nutui-react-taro

NutUI React 版本号

2.8.6

平台

weapp

重现链接

https://codesandbox.io/p/sandbox/nutui-react-2x-demo-fg4vxd?file=/src/App.tsx

重现步骤

当前 PickerOption 类型为

export interface PickerOption {
    text: string | number;
    value: string | number;
    disabled?: boolean;
    children?: PickerOption[];
    className?: string | number;
}

这里使用联合类型会导致使用组件时 value 值类型不准确,建议使用范型

export interface PickerOption<Value extends string | number> {
    text: string | number;
    value: Value;
    disabled?: boolean;
    children?: Array<PickerOption<Value>>;
    className?: string | number;
}

Value 类型与 option 中 value 字段类型一致

期望的结果是什么?

获取事件回调中 value 能与 option 传入的 value 类型一致

实际的结果是什么?

value 的值类型不准确

环境信息

No response

其他补充信息

No response

zhangminggeek avatar Jun 09 '24 08:06 zhangminggeek

在哪种场景下出现不一致的问题?目前的类型都是 string | number 。可以给一个在使用中提出类型不匹配的 Demo。

oasis-cloud avatar Jun 12 '24 03:06 oasis-cloud

Value 类型与 option 中 value 字段类型一致

我描述里说了呀,不是不一致,是不准确,value 的类型是可以确定的,option 里面的 value 是 string,回调出来就应该是 string,option 的 value 是 number 回调出来就应该是 number,而不应该用 string | number 的联合类型来返回,这是偷懒

zhangminggeek avatar Jun 12 '24 05:06 zhangminggeek