From 353b6c4162f10eca509c7a46ec6dea2cbd4fb4c6 Mon Sep 17 00:00:00 2001 From: zhanyini Date: Tue, 22 Aug 2023 01:06:56 -0700 Subject: [PATCH] fix(select): Fix label not displaying correctly when using optimization attribute in select component --- packages/renderless/src/select/index.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/renderless/src/select/index.ts b/packages/renderless/src/select/index.ts index e823581810..83bc3c44b5 100644 --- a/packages/renderless/src/select/index.ts +++ b/packages/renderless/src/select/index.ts @@ -270,8 +270,10 @@ export const getOption = const isNull = Object.prototype.toString.call(value).toLowerCase() === '[object null]' const isUndefined = Object.prototype.toString.call(value).toLowerCase() === '[object undefined]' - for (let i = state.cachedOptions.length - 1; i >= 0; i--) { - const cachedOption = state.cachedOptions[i] + const optionsList = props.optimization ? props.options : state.cachedOptions + + for (let i = optionsList.length - 1; i >= 0; i--) { + const cachedOption = optionsList[i] const isEqual = isObject ? getObj(cachedOption.value, props.valueKey) === getObj(value, props.valueKey) : cachedOption.value === value @@ -283,6 +285,10 @@ export const getOption = } if (option) { + if(!option.currentLabel){ + option.currentLabel = option[props.textField] + } + return option }