Skip to content

Commit e653484

Browse files
authored
[improvement] extract resetScroll function (youzan#3869)
1 parent cc445df commit e653484

File tree

3 files changed

+20
-17
lines changed

3 files changed

+20
-17
lines changed

src/field/index.js

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,8 @@ import Icon from '../icon';
22
import Cell from '../cell';
33
import { cellProps } from '../cell/shared';
44
import { preventDefault } from '../utils/dom/event';
5-
import { getRootScrollTop, setRootScrollTop } from '../utils/dom/scroll';
5+
import { resetScroll } from '../utils/dom/reset-scroll';
66
import { createNamespace, isObj, isDef, addUnit } from '../utils';
7-
import { isIOS } from '../utils/validate/system';
87

98
const [createComponent, bem] = createNamespace('field');
109

@@ -134,13 +133,7 @@ export default createComponent({
134133
onBlur(event) {
135134
this.focused = false;
136135
this.$emit('blur', event);
137-
138-
// Hack for iOS12 page scroll
139-
// https://developers.weixin.qq.com/community/develop/doc/00044ae90742f8c82fb78fcae56800
140-
/* istanbul ignore next */
141-
if (isIOS()) {
142-
setRootScrollTop(getRootScrollTop());
143-
}
136+
resetScroll();
144137
},
145138

146139
onClick(event) {

src/stepper/index.js

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import { createNamespace, isDef, addUnit } from '../utils';
2-
import { getRootScrollTop, setRootScrollTop } from '../utils/dom/scroll';
3-
import { isIOS } from '../utils/validate/system';
2+
import { resetScroll } from '../utils/dom/reset-scroll';
43

54
const [createComponent, bem] = createNamespace('stepper');
65

@@ -156,12 +155,7 @@ export default createComponent({
156155
event.target.value = this.currentValue;
157156
}
158157

159-
// Hack for iOS12 page scroll
160-
// https://developers.weixin.qq.com/community/develop/doc/00044ae90742f8c82fb78fcae56800
161-
/* istanbul ignore next */
162-
if (isIOS()) {
163-
setRootScrollTop(getRootScrollTop());
164-
}
158+
resetScroll();
165159
},
166160

167161
longPressStep() {

src/utils/dom/reset-scroll.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
/**
2+
* Hack for iOS12 page scroll
3+
* https://developers.weixin.qq.com/community/develop/doc/00044ae90742f8c82fb78fcae56800
4+
*/
5+
6+
import { isIOS as checkIsIOS } from '../validate/system';
7+
import { getRootScrollTop, setRootScrollTop } from './scroll';
8+
9+
const isIOS = checkIsIOS();
10+
11+
/* istanbul ignore next */
12+
export function resetScroll() {
13+
if (isIOS) {
14+
setRootScrollTop(getRootScrollTop());
15+
}
16+
}

0 commit comments

Comments
 (0)