| 
					
				 | 
			
			
				@@ -446,21 +446,6 @@ class TreeSelect extends BaseComponent<TreeSelectProps, TreeSelectState> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     props.multiple, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     valueEntities 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } else if ((!isExpandControlled && needUpdateTreeData) && props.value) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                // 当 treeData 已经设置具体的值,并且设置了 props.loadData ,则认为 treeData 的更新是因为 loadData 导致的 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                // 如果是因为 loadData 导致 treeData改变, 此时在这里重新计算 key 会导致为未选中的展开项目被收起 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                // 所以此时不需要重新计算 expandedKeys,因为在点击展开按钮时候已经把被展开的项添加到 expandedKeys 中 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                // When treeData has a specific value and props.loadData is set, it is considered that the update of treeData is caused by loadData 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                // If the treeData is changed because of loadData, recalculating the key here will cause the unselected expanded items to be collapsed 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                // So there is no need to recalculate expandedKeys at this time, because the expanded item has been added to expandedKeys when the expand button is clicked 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (!(prevState.treeData && prevState.treeData?.length > 0 && props.loadData)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    newState.expandedKeys = calcExpandedKeysForValues( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        props.value, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        keyEntities, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        props.multiple, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        valueEntities 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (!newState.expandedKeys) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1082,9 +1067,10 @@ class TreeSelect extends BaseComponent<TreeSelectProps, TreeSelectState> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             searchPosition, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             triggerRender, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             borderless, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            checkRelation, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ...rest 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } = this.props; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        const { inputValue, selectedKeys, checkedKeys, keyEntities, isFocus } = this.state; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const { inputValue, selectedKeys, checkedKeys, keyEntities, isFocus, realCheckedKeys } = this.state; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         const filterable = Boolean(filterTreeNode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         const useCustomTrigger = typeof triggerRender === 'function'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         const mouseEvent = showClear ? 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1119,9 +1105,19 @@ class TreeSelect extends BaseComponent<TreeSelectProps, TreeSelectState> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 className 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        const triggerRenderKeys = multiple ? normalizeKeyList([...checkedKeys], keyEntities, leafOnly, true) : selectedKeys; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        const inner = useCustomTrigger ? ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <Trigger 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let inner: React.ReactNode | React.ReactNode[]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (useCustomTrigger) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let triggerRenderKeys = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (multiple) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (checkRelation === 'related') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    triggerRenderKeys = normalizeKeyList([...checkedKeys], keyEntities, leafOnly, true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } else if (checkRelation === 'unRelated') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    triggerRenderKeys = [...realCheckedKeys]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                triggerRenderKeys = selectedKeys; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            inner = <Trigger 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 inputValue={inputValue} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 value={triggerRenderKeys.map((key: string) => get(keyEntities, [key, 'data']))} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 disabled={disabled} 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1132,9 +1128,9 @@ class TreeSelect extends BaseComponent<TreeSelectProps, TreeSelectState> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 componentProps={{ ...this.props }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 onSearch={this.search} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 onRemove={this.removeTag} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ) : ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            />; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            inner = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <Fragment key={'prefix'}>{prefix || insetLabel ? this.renderPrefix() : null}</Fragment>, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <Fragment key={'selection'}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     <div className={`${prefixcls}-selection`}>{this.renderSelectContent()}</div> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1148,8 +1144,8 @@ class TreeSelect extends BaseComponent<TreeSelectProps, TreeSelectState> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 </Fragment>, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <Fragment key={'arrow'}>{this.renderArrow()}</Fragment>, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         const tabIndex = disabled ? null : 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          * Reasons for disabling the a11y eslint rule: 
			 |