Skip to content

Commit 8b407ec

Browse files
authoredApr 2, 2022
fix(OverlayTrigger):拖动浏览器窗口大小onVisibleChange被高频率调用问题 (#738)
1 parent 3a43b33 commit 8b407ec

File tree

5 files changed

+12
-9
lines changed

5 files changed

+12
-9
lines changed
 

‎packages/react-overlay-trigger/README.md

+1
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,7 @@ class Demo extends React.Component {
229229
}
230230
onVisibleChange(isOpen) {
231231
console.log('onVisibleChange: ', isOpen);
232+
this.setState({ isOpen: isOpen });
232233
}
233234
render() {
234235
return (

‎packages/react-overlay-trigger/src/index.tsx

+7-5
Original file line numberDiff line numberDiff line change
@@ -133,15 +133,15 @@ export default React.forwardRef<OverlayTriggerRef, OverlayTriggerProps>((props,
133133
}
134134

135135
useEffect(() => {
136-
if (isClickOutside) {
136+
if (isClickOutside && isOpen) {
137137
document && document.addEventListener('mousedown', handleClickOutside);
138138
window.addEventListener('resize', handleResize);
139139
}
140140
return () => {
141141
document && isClickOutside && document.removeEventListener('mousedown', handleClickOutside);
142142
window.removeEventListener('resize', handleResize);
143143
};
144-
}, []);
144+
}, [isOpen]);
145145

146146
useEffect(() => {
147147
if (props.isOpen !== isOpen) {
@@ -162,9 +162,11 @@ export default React.forwardRef<OverlayTriggerRef, OverlayTriggerProps>((props,
162162
}, [isOpen]);
163163

164164
const handleResize = () => {
165-
zIndex.current -= 1;
166-
setIsOpen(false);
167-
onVisibleChange && onVisibleChange(false);
165+
if (isOpen) {
166+
zIndex.current -= 1;
167+
setIsOpen(false);
168+
onVisibleChange && onVisibleChange(false);
169+
}
168170
};
169171

170172
const handleClickOutside = (e: MouseEvent) => {

‎packages/react-search-select/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -512,7 +512,7 @@ ReactDOM.render(<Demo />, _mount_);
512512
| labelInValue | 开启会把 Select 的 value 类型从 `string/number` 变为 `{ value: string/number, label: string }` | Boolean | `false` | - |
513513
| showSearch | 是否可搜索 | Boolean | - | - |
514514
| size | 选择框尺寸 | Enum{large, default, small } | `default` | - |
515-
| tagProps | 将参数传递给 [`<Tag>`](https://uiwjs.github.io/#/components/tag) 组件 | `TagProps` | `{}` | `4.13.0` |
515+
| tagProps | 将参数传递给 [`<Tag>`](#/components/tag) 组件 | `TagProps` | `{}` | `4.13.0` |
516516
| onChange | 选中 option,或 input 的 value,调用此函数 | function(value:String \| Number \| String[] \| Number[] \| LabeledValue \| LabeledValue[]) | - | - |
517517
| onSearch | 文本框值变化时回调 | function(value: String) | - | - |
518518
| onSelect | 被选中时调用,参数为选中项的 value | function(value: String/Number ) | - | - |

‎packages/react-search-tree/README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -351,5 +351,5 @@ ReactDOM.render(<Demo />, _mount_);
351351
| onChange | 选中 option,或 input 的 value,调用此函数 | function(selectd, selectdAll, isChecked)=>void | - |
352352
| onSearch | 文本框值变化时回调 | function(searchValue) | - |
353353
| loading | 加载中状态 | Boolean | `false` |
354-
| emptyOption | 自定义下拉选项为空时显示内容 | React.ReactNode | [Empty](https://uiwjs.github.io/#/components/empty) |
355-
| tagProps | 将参数传递给 [`<Tag>`](https://uiwjs.github.io/#/components/tag) 组件 | `TagProps` | `{}` | `4.13.0` |
354+
| emptyOption | 自定义下拉选项为空时显示内容 | React.ReactNode | [Empty](#/components/empty) |
355+
| tagProps | 将参数传递给 [`<Tag>`](#/components/tag) 组件 | `TagProps` | `{}` | `4.13.0` |

‎packages/react-transfer/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ ReactDOM.render(<Demo />, _mount_);
4545

4646
## 树形节点
4747

48-
使用 [Tree](https://uiwjs.github.io/#/components/tree) 结构作为选项节点
48+
使用 [`Tree`](#/components/tree) 结构作为选项节点
4949

5050
<!--rehype:bgWhite=true&codeSandbox=true&codePen=true-->
5151
```jsx

0 commit comments

Comments
 (0)
Please sign in to comment.