浏览代码

fix: [select] using backspace to delete will cause the option to be invisible,close #444 (#445)

pointhalo 3 年之前
父节点
当前提交
ea6b6f38d4
共有 1 个文件被更改,包括 11 次插入9 次删除
  1. 11 9
      packages/semi-foundation/select/foundation.ts

+ 11 - 9
packages/semi-foundation/select/foundation.ts

@@ -785,15 +785,17 @@ export default class SelectFoundation extends BaseFoundation<SelectAdapter> {
     }
     }
 
 
     _removeInternalKey(option: BasicOptionProps) {
     _removeInternalKey(option: BasicOptionProps) {
-        delete option._parentGroup;
-        delete option._show;
-        delete option._selected;
-        delete option._scrollIndex;
-        if ('_keyInOptionList' in option) {
-            option.key = option._keyInOptionList;
-            delete option._keyInOptionList;
-        }
-        return option;
+        // eslint-disable-next-line
+        let newOption = { ...option };
+        delete newOption._parentGroup;
+        delete newOption._show;
+        delete newOption._selected;
+        delete newOption._scrollIndex;
+        if ('_keyInOptionList' in newOption) {
+            newOption.key = newOption._keyInOptionList;
+            delete newOption._keyInOptionList;
+        }
+        return newOption;
     }
     }
 
 
     _notifySelect(value: BasicOptionProps['value'], option: BasicOptionProps) {
     _notifySelect(value: BasicOptionProps['value'], option: BasicOptionProps) {