@@ -70,8 +70,6 @@ export type RawValueType = string | number;
7070export interface LabelInValueType {
7171 label : React . ReactNode ;
7272 value : RawValueType ;
73- /** @deprecated `key` is useless since it should always same as `value` */
74- key ?: React . Key ;
7573}
7674
7775export type DraftValueType =
@@ -119,9 +117,6 @@ export interface SelectProps<ValueType = any, OptionType extends BaseOptionType
119117 // >>> Field Names
120118 fieldNames ?: FieldNames ;
121119
122- // >>> Search
123- /** @deprecated Use `searchValue` instead */
124- inputValue ?: string ;
125120 searchValue ?: string ;
126121 onSearch ?: ( value : string ) => void ;
127122 autoClearSearchValue ?: boolean ;
@@ -178,7 +173,6 @@ const Select = React.forwardRef<BaseSelectRef, SelectProps<any, DefaultOptionTyp
178173 fieldNames,
179174
180175 // Search
181- inputValue,
182176 searchValue,
183177 onSearch,
184178 autoClearSearchValue = true ,
@@ -239,7 +233,7 @@ const Select = React.forwardRef<BaseSelectRef, SelectProps<any, DefaultOptionTyp
239233
240234 // =========================== Search ===========================
241235 const [ mergedSearchValue , setSearchValue ] = useMergedState ( '' , {
242- value : searchValue !== undefined ? searchValue : inputValue ,
236+ value : searchValue ,
243237 postState : ( search ) => search || '' ,
244238 } ) ;
245239
@@ -263,25 +257,22 @@ const Select = React.forwardRef<BaseSelectRef, SelectProps<any, DefaultOptionTyp
263257 return valueList . map ( ( val ) => {
264258 let rawValue : RawValueType ;
265259 let rawLabel : React . ReactNode ;
266- let rawKey : React . Key ;
267260 let rawDisabled : boolean | undefined ;
268261 let rawTitle : string ;
269262
270263 // Fill label & value
271264 if ( isRawValue ( val ) ) {
272265 rawValue = val ;
273266 } else {
274- rawKey = val . key ;
275267 rawLabel = val . label ;
276- rawValue = val . value ?? ( rawKey as RawValueType ) ;
268+ rawValue = val . value ;
277269 }
278270
279271 const option = valueOptions . get ( rawValue ) ;
280272 if ( option ) {
281273 // Fill missing props
282274 if ( rawLabel === undefined )
283275 rawLabel = option ?. [ optionLabelProp || mergedFieldNames . label ] ;
284- if ( rawKey === undefined ) rawKey = option ?. key ?? rawValue ;
285276 rawDisabled = option ?. disabled ;
286277 rawTitle = option ?. title ;
287278
@@ -302,7 +293,7 @@ const Select = React.forwardRef<BaseSelectRef, SelectProps<any, DefaultOptionTyp
302293 return {
303294 label : rawLabel ,
304295 value : rawValue ,
305- key : rawKey ,
296+ key : rawValue ,
306297 disabled : rawDisabled ,
307298 title : rawTitle ,
308299 } ;
@@ -473,7 +464,10 @@ const Select = React.forwardRef<BaseSelectRef, SelectProps<any, DefaultOptionTyp
473464 ( labeledValues . length !== mergedValues . length ||
474465 labeledValues . some ( ( newVal , index ) => mergedValues [ index ] ?. value !== newVal ?. value ) )
475466 ) {
476- const returnValues = labelInValue ? labeledValues : labeledValues . map ( ( v ) => v . value ) ;
467+ const returnValues = labelInValue
468+ ? labeledValues . map ( ( { label : l , value : v } ) => ( { label : l , value : v } ) )
469+ : labeledValues . map ( ( v ) => v . value ) ;
470+
477471 const returnOptions = labeledValues . map ( ( v ) =>
478472 injectPropsWithOption ( getMixedOption ( v . value ) ) ,
479473 ) ;
@@ -513,7 +507,6 @@ const Select = React.forwardRef<BaseSelectRef, SelectProps<any, DefaultOptionTyp
513507 ? {
514508 label : option ?. [ mergedFieldNames . label ] ,
515509 value : val ,
516- key : option ?. key ?? val ,
517510 }
518511 : val ,
519512 injectPropsWithOption ( option ) ,
@@ -547,7 +540,6 @@ const Select = React.forwardRef<BaseSelectRef, SelectProps<any, DefaultOptionTyp
547540
548541 // Clean search value if single or configured
549542 if ( mode === 'combobox' ) {
550- // setSearchValue(String(val));
551543 setActiveValue ( '' ) ;
552544 } else if ( ! isMultiple || autoClearSearchValue ) {
553545 setSearchValue ( '' ) ;
0 commit comments