diff --git a/components/vc-select/utils/valueUtil.ts b/components/vc-select/utils/valueUtil.ts index 9e5207de69..ddf571fc4a 100644 --- a/components/vc-select/utils/valueUtil.ts +++ b/components/vc-select/utils/valueUtil.ts @@ -2,11 +2,13 @@ import type { BaseOptionType, DefaultOptionType, RawValueType, FieldNames } from import { warning } from '../../vc-util/warning'; import type { FlattenOptionData } from '../interface'; -function getKey(data: BaseOptionType, index: number) { +function getKey(data: BaseOptionType, index: number, fieldNames?: FieldNames) { const { key } = data; let value: RawValueType; - if ('value' in data) { + if (fieldNames && fieldNames.value && data[fieldNames.value] !== undefined) { + ({ [fieldNames.value]: value } = data); + } else if ('value' in data) { ({ value } = data); } @@ -54,7 +56,7 @@ export function flattenOptions