element-plus/packages/test-utils/make-scroll.ts

23 lines
477 B
TypeScript
Raw Normal View History

import sleep from './sleep'
2020-09-02 17:44:14 +08:00
const makeScroll = (
dom: Element,
name: 'scrollTop' | 'scrollLeft',
offset: number
) => {
2020-09-07 16:48:11 +08:00
const eventTarget = dom === document.documentElement ? window : dom
2020-09-02 17:44:14 +08:00
dom[name] = offset
const evt = new CustomEvent('scroll', {
detail: {
target: {
[name]: offset,
},
},
})
eventTarget.dispatchEvent(evt)
2020-09-02 17:44:14 +08:00
// must use setTimeout instead of nextTick to wait dom change
return sleep()
2020-09-02 17:44:14 +08:00
}
export default makeScroll