@douyinfe/semi-foundation 2.37.0 → 2.37.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cascader/cascader.scss +1 -1
- package/lib/cjs/cascader/cascader.css +1 -1
- package/lib/cjs/cascader/cascader.scss +1 -1
- package/lib/cjs/radio/radio.scss +3 -3
- package/lib/cjs/radio/variables.scss +3 -0
- package/lib/cjs/treeSelect/foundation.d.ts +1 -1
- package/lib/cjs/treeSelect/foundation.js +10 -4
- package/lib/es/cascader/cascader.css +1 -1
- package/lib/es/cascader/cascader.scss +1 -1
- package/lib/es/radio/radio.scss +3 -3
- package/lib/es/radio/variables.scss +3 -0
- package/lib/es/treeSelect/foundation.d.ts +1 -1
- package/lib/es/treeSelect/foundation.js +10 -4
- package/package.json +3 -3
- package/radio/radio.scss +3 -3
- package/radio/radioFoundation.ts +1 -1
- package/radio/variables.scss +3 -0
- package/treeSelect/foundation.ts +10 -4
package/cascader/cascader.scss
CHANGED
|
@@ -25,7 +25,7 @@ $module: #{$prefix}-cascader;
|
|
|
25
25
|
border: $width-cascader_hover-border $color-cascader_default-border-hover solid;
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
&:focus {
|
|
28
|
+
&:focus:not(&-disabled) {
|
|
29
29
|
border: $width-cascader_focus-border solid $color-cascader_default-border-focus;
|
|
30
30
|
background-color: $color-cascader_default-bg-default;
|
|
31
31
|
outline: 0;
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
background-color: var(--semi-color-fill-1);
|
|
22
22
|
border: 1px transparent solid;
|
|
23
23
|
}
|
|
24
|
-
.semi-cascader:focus {
|
|
24
|
+
.semi-cascader:focus:not(.semi-cascader-disabled) {
|
|
25
25
|
border: 1px solid var(--semi-color-focus-border);
|
|
26
26
|
background-color: var(--semi-color-fill-0);
|
|
27
27
|
outline: 0;
|
|
@@ -25,7 +25,7 @@ $module: #{$prefix}-cascader;
|
|
|
25
25
|
border: $width-cascader_hover-border $color-cascader_default-border-hover solid;
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
&:focus {
|
|
28
|
+
&:focus:not(&-disabled) {
|
|
29
29
|
border: $width-cascader_focus-border solid $color-cascader_default-border-focus;
|
|
30
30
|
background-color: $color-cascader_default-bg-default;
|
|
31
31
|
outline: 0;
|
package/lib/cjs/radio/radio.scss
CHANGED
|
@@ -107,8 +107,8 @@ $inner-width: $width-icon-medium;
|
|
|
107
107
|
flex-wrap: nowrap;
|
|
108
108
|
border-radius: $radius-radio_cardRadioGroup;
|
|
109
109
|
padding: $spacing-radio_cardRadioGroup-paddingY $spacing-radio_cardRadioGroup-paddingX;
|
|
110
|
-
background:
|
|
111
|
-
border: $width-radio_cardRadioGroup_checked-border solid
|
|
110
|
+
background: $color-radio_cardRadioGroup-bg-default;
|
|
111
|
+
border: $width-radio_cardRadioGroup_checked-border solid $color-radio_cardRadioGroup_border-default;
|
|
112
112
|
transition: background-color $transition_duration_radio-bg $transition_function-radio-bg $transition_delay-radio-bg,
|
|
113
113
|
border $transition_duration-radio-border $transition_function-radio-border $transition_delay-radio-border;
|
|
114
114
|
|
|
@@ -172,7 +172,7 @@ $inner-width: $width-icon-medium;
|
|
|
172
172
|
|
|
173
173
|
&_disabled {
|
|
174
174
|
&:active {
|
|
175
|
-
background:
|
|
175
|
+
background: $color-radio_cardRadioGroup_disabled-bg-active;
|
|
176
176
|
}
|
|
177
177
|
}
|
|
178
178
|
|
|
@@ -32,10 +32,13 @@ $color-radio_buttonRadio-text-disabled: var(--semi-color-disabled-text); // 按
|
|
|
32
32
|
$color-radio_addon_buttonRadio-bg-hover: var(--semi-color-fill-1); // 按钮样式单选悬浮态背景色
|
|
33
33
|
$color-radio_addon_buttonRadio-text-checked: var(--semi-color-primary); // 按钮样式单选选中项文字颜色
|
|
34
34
|
$color-radio_addon_buttonRadio-bg-checked: var(--semi-color-bg-3); // 按钮样式单选选中项背景颜色
|
|
35
|
+
$color-radio_cardRadioGroup-bg-default: transparent; // 卡片样式单选默认背景色
|
|
35
36
|
$color-radio_cardRadioGroup-bg-checked: var(--semi-color-primary-light-default); // 卡片样式单选选中态背景色
|
|
36
37
|
$color-radio_cardRadioGroup_disabled-bg-checked: var(--semi-color-primary-light-default); // 卡片样式单选选中且禁用时的背景色
|
|
38
|
+
$color-radio_cardRadioGroup_disabled-bg-active: transparent; // 卡片样式单选禁用时的背景色 - 按下态
|
|
37
39
|
$color-radio_cardRadioGroup-bg-hover: var(--semi-color-fill-0); // 卡片样式单选悬浮态背景色
|
|
38
40
|
$color-radio_cardRadioGroup-bg-active: var(--semi-color-fill-1); // 卡片样式单选按下态背景色
|
|
41
|
+
$color-radio_cardRadioGroup_border-default: transparent; // 卡片样式单选默认描边颜色
|
|
39
42
|
$color-radio_cardRadioGroup_border-active: var(--semi-color-primary); // 卡片样式单选选中态描边颜色
|
|
40
43
|
$color-radio_cardRadioGroup_checked_border-active: var(--semi-color-primary-active); // 卡片样式单选选中态描边颜色 - 按下态
|
|
41
44
|
$color-radio_cardRadioGroup_checked_border-hover: var(--semi-color-primary-hover); // 卡片样式单选选中态描边颜色 - 悬浮态
|
|
@@ -135,7 +135,7 @@ export default class TreeSelectFoundation<P = Record<string, any>, S = Record<st
|
|
|
135
135
|
focusInput(bool: boolean): void;
|
|
136
136
|
_notifyMultipleChange(key: string[], e: any): void;
|
|
137
137
|
_notifyChange(key: any, e: any): void;
|
|
138
|
-
_registerClickOutsideHandler: (
|
|
138
|
+
_registerClickOutsideHandler: () => void;
|
|
139
139
|
_notifyFocus(e: any): void;
|
|
140
140
|
handleTriggerFocus(e: any): void;
|
|
141
141
|
_notifyBlur(e: any): void;
|
|
@@ -21,7 +21,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
21
21
|
class TreeSelectFoundation extends _foundation.default {
|
|
22
22
|
constructor(adapter) {
|
|
23
23
|
super(Object.assign({}, adapter));
|
|
24
|
-
this._registerClickOutsideHandler =
|
|
24
|
+
this._registerClickOutsideHandler = () => {
|
|
25
25
|
this._adapter.registerClickOutsideHandler(e => {
|
|
26
26
|
this.handlerTriggerBlur(e);
|
|
27
27
|
this.close(e);
|
|
@@ -37,11 +37,13 @@ class TreeSelectFoundation extends _foundation.default {
|
|
|
37
37
|
const triggerSearch = searchPosition === _constants.strings.SEARCH_POSITION_TRIGGER && filterTreeNode;
|
|
38
38
|
const triggerSearchAutoFocus = searchAutoFocus && triggerSearch;
|
|
39
39
|
this._setDropdownWidth();
|
|
40
|
-
const
|
|
40
|
+
const able = !this._isDisabled();
|
|
41
|
+
const isOpen = (this.getProp('defaultOpen') || triggerSearchAutoFocus) && able;
|
|
41
42
|
if (isOpen) {
|
|
42
43
|
this.open();
|
|
44
|
+
this._registerClickOutsideHandler();
|
|
43
45
|
}
|
|
44
|
-
if (triggerSearchAutoFocus) {
|
|
46
|
+
if (triggerSearchAutoFocus && able) {
|
|
45
47
|
this.handleTriggerFocus(null);
|
|
46
48
|
}
|
|
47
49
|
}
|
|
@@ -272,7 +274,7 @@ class TreeSelectFoundation extends _foundation.default {
|
|
|
272
274
|
handleTriggerFocus(e) {
|
|
273
275
|
this._adapter.updateIsFocus(true);
|
|
274
276
|
this._notifyFocus(e);
|
|
275
|
-
this._registerClickOutsideHandler(
|
|
277
|
+
this._registerClickOutsideHandler();
|
|
276
278
|
}
|
|
277
279
|
// Scenes that may trigger blur
|
|
278
280
|
// 1、clickOutSide
|
|
@@ -282,6 +284,10 @@ class TreeSelectFoundation extends _foundation.default {
|
|
|
282
284
|
this._adapter.notifyBlur(e);
|
|
283
285
|
}
|
|
284
286
|
handlerTriggerBlur(e) {
|
|
287
|
+
const isFocus = this.getState('isFocus');
|
|
288
|
+
if (!isFocus) {
|
|
289
|
+
return;
|
|
290
|
+
}
|
|
285
291
|
this._adapter.updateIsFocus(false);
|
|
286
292
|
this._notifyBlur(e);
|
|
287
293
|
this._adapter.unregisterClickOutsideHandler();
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
background-color: var(--semi-color-fill-1);
|
|
22
22
|
border: 1px transparent solid;
|
|
23
23
|
}
|
|
24
|
-
.semi-cascader:focus {
|
|
24
|
+
.semi-cascader:focus:not(.semi-cascader-disabled) {
|
|
25
25
|
border: 1px solid var(--semi-color-focus-border);
|
|
26
26
|
background-color: var(--semi-color-fill-0);
|
|
27
27
|
outline: 0;
|
|
@@ -25,7 +25,7 @@ $module: #{$prefix}-cascader;
|
|
|
25
25
|
border: $width-cascader_hover-border $color-cascader_default-border-hover solid;
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
&:focus {
|
|
28
|
+
&:focus:not(&-disabled) {
|
|
29
29
|
border: $width-cascader_focus-border solid $color-cascader_default-border-focus;
|
|
30
30
|
background-color: $color-cascader_default-bg-default;
|
|
31
31
|
outline: 0;
|
package/lib/es/radio/radio.scss
CHANGED
|
@@ -107,8 +107,8 @@ $inner-width: $width-icon-medium;
|
|
|
107
107
|
flex-wrap: nowrap;
|
|
108
108
|
border-radius: $radius-radio_cardRadioGroup;
|
|
109
109
|
padding: $spacing-radio_cardRadioGroup-paddingY $spacing-radio_cardRadioGroup-paddingX;
|
|
110
|
-
background:
|
|
111
|
-
border: $width-radio_cardRadioGroup_checked-border solid
|
|
110
|
+
background: $color-radio_cardRadioGroup-bg-default;
|
|
111
|
+
border: $width-radio_cardRadioGroup_checked-border solid $color-radio_cardRadioGroup_border-default;
|
|
112
112
|
transition: background-color $transition_duration_radio-bg $transition_function-radio-bg $transition_delay-radio-bg,
|
|
113
113
|
border $transition_duration-radio-border $transition_function-radio-border $transition_delay-radio-border;
|
|
114
114
|
|
|
@@ -172,7 +172,7 @@ $inner-width: $width-icon-medium;
|
|
|
172
172
|
|
|
173
173
|
&_disabled {
|
|
174
174
|
&:active {
|
|
175
|
-
background:
|
|
175
|
+
background: $color-radio_cardRadioGroup_disabled-bg-active;
|
|
176
176
|
}
|
|
177
177
|
}
|
|
178
178
|
|
|
@@ -32,10 +32,13 @@ $color-radio_buttonRadio-text-disabled: var(--semi-color-disabled-text); // 按
|
|
|
32
32
|
$color-radio_addon_buttonRadio-bg-hover: var(--semi-color-fill-1); // 按钮样式单选悬浮态背景色
|
|
33
33
|
$color-radio_addon_buttonRadio-text-checked: var(--semi-color-primary); // 按钮样式单选选中项文字颜色
|
|
34
34
|
$color-radio_addon_buttonRadio-bg-checked: var(--semi-color-bg-3); // 按钮样式单选选中项背景颜色
|
|
35
|
+
$color-radio_cardRadioGroup-bg-default: transparent; // 卡片样式单选默认背景色
|
|
35
36
|
$color-radio_cardRadioGroup-bg-checked: var(--semi-color-primary-light-default); // 卡片样式单选选中态背景色
|
|
36
37
|
$color-radio_cardRadioGroup_disabled-bg-checked: var(--semi-color-primary-light-default); // 卡片样式单选选中且禁用时的背景色
|
|
38
|
+
$color-radio_cardRadioGroup_disabled-bg-active: transparent; // 卡片样式单选禁用时的背景色 - 按下态
|
|
37
39
|
$color-radio_cardRadioGroup-bg-hover: var(--semi-color-fill-0); // 卡片样式单选悬浮态背景色
|
|
38
40
|
$color-radio_cardRadioGroup-bg-active: var(--semi-color-fill-1); // 卡片样式单选按下态背景色
|
|
41
|
+
$color-radio_cardRadioGroup_border-default: transparent; // 卡片样式单选默认描边颜色
|
|
39
42
|
$color-radio_cardRadioGroup_border-active: var(--semi-color-primary); // 卡片样式单选选中态描边颜色
|
|
40
43
|
$color-radio_cardRadioGroup_checked_border-active: var(--semi-color-primary-active); // 卡片样式单选选中态描边颜色 - 按下态
|
|
41
44
|
$color-radio_cardRadioGroup_checked_border-hover: var(--semi-color-primary-hover); // 卡片样式单选选中态描边颜色 - 悬浮态
|
|
@@ -135,7 +135,7 @@ export default class TreeSelectFoundation<P = Record<string, any>, S = Record<st
|
|
|
135
135
|
focusInput(bool: boolean): void;
|
|
136
136
|
_notifyMultipleChange(key: string[], e: any): void;
|
|
137
137
|
_notifyChange(key: any, e: any): void;
|
|
138
|
-
_registerClickOutsideHandler: (
|
|
138
|
+
_registerClickOutsideHandler: () => void;
|
|
139
139
|
_notifyFocus(e: any): void;
|
|
140
140
|
handleTriggerFocus(e: any): void;
|
|
141
141
|
_notifyBlur(e: any): void;
|
|
@@ -14,7 +14,7 @@ import isEnterPress from '../utils/isEnterPress';
|
|
|
14
14
|
export default class TreeSelectFoundation extends BaseFoundation {
|
|
15
15
|
constructor(adapter) {
|
|
16
16
|
super(Object.assign({}, adapter));
|
|
17
|
-
this._registerClickOutsideHandler =
|
|
17
|
+
this._registerClickOutsideHandler = () => {
|
|
18
18
|
this._adapter.registerClickOutsideHandler(e => {
|
|
19
19
|
this.handlerTriggerBlur(e);
|
|
20
20
|
this.close(e);
|
|
@@ -30,11 +30,13 @@ export default class TreeSelectFoundation extends BaseFoundation {
|
|
|
30
30
|
const triggerSearch = searchPosition === strings.SEARCH_POSITION_TRIGGER && filterTreeNode;
|
|
31
31
|
const triggerSearchAutoFocus = searchAutoFocus && triggerSearch;
|
|
32
32
|
this._setDropdownWidth();
|
|
33
|
-
const
|
|
33
|
+
const able = !this._isDisabled();
|
|
34
|
+
const isOpen = (this.getProp('defaultOpen') || triggerSearchAutoFocus) && able;
|
|
34
35
|
if (isOpen) {
|
|
35
36
|
this.open();
|
|
37
|
+
this._registerClickOutsideHandler();
|
|
36
38
|
}
|
|
37
|
-
if (triggerSearchAutoFocus) {
|
|
39
|
+
if (triggerSearchAutoFocus && able) {
|
|
38
40
|
this.handleTriggerFocus(null);
|
|
39
41
|
}
|
|
40
42
|
}
|
|
@@ -265,7 +267,7 @@ export default class TreeSelectFoundation extends BaseFoundation {
|
|
|
265
267
|
handleTriggerFocus(e) {
|
|
266
268
|
this._adapter.updateIsFocus(true);
|
|
267
269
|
this._notifyFocus(e);
|
|
268
|
-
this._registerClickOutsideHandler(
|
|
270
|
+
this._registerClickOutsideHandler();
|
|
269
271
|
}
|
|
270
272
|
// Scenes that may trigger blur
|
|
271
273
|
// 1、clickOutSide
|
|
@@ -275,6 +277,10 @@ export default class TreeSelectFoundation extends BaseFoundation {
|
|
|
275
277
|
this._adapter.notifyBlur(e);
|
|
276
278
|
}
|
|
277
279
|
handlerTriggerBlur(e) {
|
|
280
|
+
const isFocus = this.getState('isFocus');
|
|
281
|
+
if (!isFocus) {
|
|
282
|
+
return;
|
|
283
|
+
}
|
|
278
284
|
this._adapter.updateIsFocus(false);
|
|
279
285
|
this._notifyBlur(e);
|
|
280
286
|
this._adapter.unregisterClickOutsideHandler();
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@douyinfe/semi-foundation",
|
|
3
|
-
"version": "2.37.
|
|
3
|
+
"version": "2.37.2",
|
|
4
4
|
"description": "",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build:lib": "node ./scripts/compileLib.js",
|
|
7
7
|
"prepublishOnly": "npm run build:lib"
|
|
8
8
|
},
|
|
9
9
|
"dependencies": {
|
|
10
|
-
"@douyinfe/semi-animation": "2.
|
|
10
|
+
"@douyinfe/semi-animation": "2.37.2",
|
|
11
11
|
"async-validator": "^3.5.0",
|
|
12
12
|
"classnames": "^2.2.6",
|
|
13
13
|
"date-fns": "^2.29.3",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"*.scss",
|
|
24
24
|
"*.css"
|
|
25
25
|
],
|
|
26
|
-
"gitHead": "
|
|
26
|
+
"gitHead": "a60ba17cdb9b16ace637706583ea31dbf3a6a255",
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@babel/plugin-transform-runtime": "^7.15.8",
|
|
29
29
|
"@babel/preset-env": "^7.15.8",
|
package/radio/radio.scss
CHANGED
|
@@ -107,8 +107,8 @@ $inner-width: $width-icon-medium;
|
|
|
107
107
|
flex-wrap: nowrap;
|
|
108
108
|
border-radius: $radius-radio_cardRadioGroup;
|
|
109
109
|
padding: $spacing-radio_cardRadioGroup-paddingY $spacing-radio_cardRadioGroup-paddingX;
|
|
110
|
-
background:
|
|
111
|
-
border: $width-radio_cardRadioGroup_checked-border solid
|
|
110
|
+
background: $color-radio_cardRadioGroup-bg-default;
|
|
111
|
+
border: $width-radio_cardRadioGroup_checked-border solid $color-radio_cardRadioGroup_border-default;
|
|
112
112
|
transition: background-color $transition_duration_radio-bg $transition_function-radio-bg $transition_delay-radio-bg,
|
|
113
113
|
border $transition_duration-radio-border $transition_function-radio-border $transition_delay-radio-border;
|
|
114
114
|
|
|
@@ -172,7 +172,7 @@ $inner-width: $width-icon-medium;
|
|
|
172
172
|
|
|
173
173
|
&_disabled {
|
|
174
174
|
&:active {
|
|
175
|
-
background:
|
|
175
|
+
background: $color-radio_cardRadioGroup_disabled-bg-active;
|
|
176
176
|
}
|
|
177
177
|
}
|
|
178
178
|
|
package/radio/radioFoundation.ts
CHANGED
|
@@ -32,7 +32,7 @@ export default class RadioFoundation extends BaseFoundation<RadioAdapter> {
|
|
|
32
32
|
if (target.matches(':focus-visible')) {
|
|
33
33
|
this._adapter.setFocusVisible(true);
|
|
34
34
|
}
|
|
35
|
-
} catch (error){
|
|
35
|
+
} catch (error) {
|
|
36
36
|
warning(true, 'Warning: [Semi Radio] The current browser does not support the focus-visible');
|
|
37
37
|
}
|
|
38
38
|
}
|
package/radio/variables.scss
CHANGED
|
@@ -32,10 +32,13 @@ $color-radio_buttonRadio-text-disabled: var(--semi-color-disabled-text); // 按
|
|
|
32
32
|
$color-radio_addon_buttonRadio-bg-hover: var(--semi-color-fill-1); // 按钮样式单选悬浮态背景色
|
|
33
33
|
$color-radio_addon_buttonRadio-text-checked: var(--semi-color-primary); // 按钮样式单选选中项文字颜色
|
|
34
34
|
$color-radio_addon_buttonRadio-bg-checked: var(--semi-color-bg-3); // 按钮样式单选选中项背景颜色
|
|
35
|
+
$color-radio_cardRadioGroup-bg-default: transparent; // 卡片样式单选默认背景色
|
|
35
36
|
$color-radio_cardRadioGroup-bg-checked: var(--semi-color-primary-light-default); // 卡片样式单选选中态背景色
|
|
36
37
|
$color-radio_cardRadioGroup_disabled-bg-checked: var(--semi-color-primary-light-default); // 卡片样式单选选中且禁用时的背景色
|
|
38
|
+
$color-radio_cardRadioGroup_disabled-bg-active: transparent; // 卡片样式单选禁用时的背景色 - 按下态
|
|
37
39
|
$color-radio_cardRadioGroup-bg-hover: var(--semi-color-fill-0); // 卡片样式单选悬浮态背景色
|
|
38
40
|
$color-radio_cardRadioGroup-bg-active: var(--semi-color-fill-1); // 卡片样式单选按下态背景色
|
|
41
|
+
$color-radio_cardRadioGroup_border-default: transparent; // 卡片样式单选默认描边颜色
|
|
39
42
|
$color-radio_cardRadioGroup_border-active: var(--semi-color-primary); // 卡片样式单选选中态描边颜色
|
|
40
43
|
$color-radio_cardRadioGroup_checked_border-active: var(--semi-color-primary-active); // 卡片样式单选选中态描边颜色 - 按下态
|
|
41
44
|
$color-radio_cardRadioGroup_checked_border-hover: var(--semi-color-primary-hover); // 卡片样式单选选中态描边颜色 - 悬浮态
|
package/treeSelect/foundation.ts
CHANGED
|
@@ -212,11 +212,13 @@ export default class TreeSelectFoundation<P = Record<string, any>, S = Record<st
|
|
|
212
212
|
const triggerSearch = searchPosition === strings.SEARCH_POSITION_TRIGGER && filterTreeNode;
|
|
213
213
|
const triggerSearchAutoFocus = searchAutoFocus && triggerSearch;
|
|
214
214
|
this._setDropdownWidth();
|
|
215
|
-
const
|
|
215
|
+
const able = !this._isDisabled();
|
|
216
|
+
const isOpen = (this.getProp('defaultOpen') || triggerSearchAutoFocus) && able;
|
|
216
217
|
if (isOpen) {
|
|
217
218
|
this.open();
|
|
219
|
+
this._registerClickOutsideHandler();
|
|
218
220
|
}
|
|
219
|
-
if (triggerSearchAutoFocus) {
|
|
221
|
+
if (triggerSearchAutoFocus && able) {
|
|
220
222
|
this.handleTriggerFocus(null);
|
|
221
223
|
}
|
|
222
224
|
}
|
|
@@ -433,7 +435,7 @@ export default class TreeSelectFoundation<P = Record<string, any>, S = Record<st
|
|
|
433
435
|
}
|
|
434
436
|
}
|
|
435
437
|
|
|
436
|
-
_registerClickOutsideHandler = (
|
|
438
|
+
_registerClickOutsideHandler = () => {
|
|
437
439
|
this._adapter.registerClickOutsideHandler(e => {
|
|
438
440
|
this.handlerTriggerBlur(e);
|
|
439
441
|
this.close(e);
|
|
@@ -449,7 +451,7 @@ export default class TreeSelectFoundation<P = Record<string, any>, S = Record<st
|
|
|
449
451
|
handleTriggerFocus(e: any) {
|
|
450
452
|
this._adapter.updateIsFocus(true);
|
|
451
453
|
this._notifyFocus(e);
|
|
452
|
-
this._registerClickOutsideHandler(
|
|
454
|
+
this._registerClickOutsideHandler();
|
|
453
455
|
}
|
|
454
456
|
|
|
455
457
|
// Scenes that may trigger blur
|
|
@@ -461,6 +463,10 @@ export default class TreeSelectFoundation<P = Record<string, any>, S = Record<st
|
|
|
461
463
|
}
|
|
462
464
|
|
|
463
465
|
handlerTriggerBlur(e) {
|
|
466
|
+
const isFocus = this.getState('isFocus');
|
|
467
|
+
if (!isFocus) {
|
|
468
|
+
return;
|
|
469
|
+
}
|
|
464
470
|
this._adapter.updateIsFocus(false);
|
|
465
471
|
this._notifyBlur(e);
|
|
466
472
|
this._adapter.unregisterClickOutsideHandler();
|