Я создаю приложение на основе Vue. js. У меня есть несколько элементов списка, и я хочу выбрать их в longPress + touchmove (mousemove), как, например, в Google Photos.
Я сделал выбор элементов, пока пользователь не достигнет нижней части области просмотра, как только достигнет Я динамически обновляю позицию прокрутки, но выбор элемента не происходит. В моем приложении overflow:auto
был применен к элементу HTML, и я не хочу его менять.
После getDynamicScrollingDirection()
сработает событие mouseMove
, и оно дает мне значение, в каком направлении мне следует нужно прокрутить как Верх и Низ . Исходя из этого направления, сработает значение getDynamicScrollingDirection()
. Во время прокрутки событие movemove
не происходит в элементе списка после его прокрутки, останавливается mousemove
событие, работающее.
computed: {
getDynamicScrollingDirection() {
const viewportHeight = window.innerHeight;
const bottomThreshold = viewportHeight - 140;
if (this.mousePosition.clientY < bottomThreshold) return null;
return {
direction: 'bottom',
};
},
},
watch: {
getDynamicScrollingDirection(value) {
if (!value) return;
// const htmlEle = document.querySelector('html');
// htmlEle.scrollTop += 200;
window.scrollTo({
top: 100,
left: 0,
behavior: 'smooth'
});
}
},