자동 스크롤 기능 vue-수신 가능 사용 방법
나는 vue-instigable (https://github.com/SortableJS/Vue.Draggable)을 중첩된 많은 항목 목록(조직적 트리)에 사용하려고 한다.
데이터가 많기 때문에 사용자는 끌면서 스크롤할 수 있어야 한다.
sortable.js의 모든 옵션이 지원된다고 하지만, 어떻게 '자동설정'이 구현되어야 하는지 알 수 없다.https://github.com/SortableJS/Sortable/tree/master/plugins/AutoScroll
나는 노력했다:
import draggable from "vuedraggable";
import { Sortable, AutoScroll } from 'sortablejs';
Sortable.mount(new AutoScroll());
템플릿에서 다음 작업을 수행하십시오.
<draggable class="dragArea"
tag="ul"
:list="nodes"
:group="{ name: 'g1' }"
:scroll-sensitivity="250"
>
<li class="drag rij" v-for="el in nodes" :key="el.id"
{{ el.code }}
</li>
</draggable>
다음과 같은 오류를 얻는다.
_sortablejs.AutoScroll is not a constructor
나는 이것이 지금 꽤 오래되었다는 것을 알지만, 나는 같은 문제를 만났다.지적했듯이, 자동 스크롤은 기본적으로 켜져 있다.그러나 그것은 틀에 박힌 것 같지 않다.나로서는 두 가지 부분이 있었다.
- 내 머리글과 바닥글은 페이지 위를 맴도는 고정 요소였기 때문에 자동 스크롤은 요소의 테두리가 아닌 페이지 테두리에 가까워졌을 때만 작동했다.
이는 이미 수행한 자동 스크롤 감도를 높임으로써 해결할 수 있다.
<draggable [...]
:scroll-sensitivity="200"
>
- HTML 5의 기본 드래그 앤 드롭 동작이 자동 스크롤 기능을 방해할 수 있는 것처럼 보인다.
이 일은 매우 간단하다.forceFallback
끌 수 있는 속성:
<draggable [...]
:force-fallback="true"
>
물론 템플릿 코드를 많이 정리하는 dragOptions를 바인딩하여 수행할 수도 있다.
<draggable class="dragArea"
tag="ul"
v-bind="dragOptions"
>
그리고 계산 또는 데이터 속성 추가dragOptions
:
computed: {
dragOptions() {
return {
group: {
name: 'g1'
},
scrollSensitivity: 200,
forceFallback: true
};
}
}
스크롤이 내가 기대했던 것만큼 아름답지는 않지만, 아마도 내가 열어놓은 탭의 양일 것이다.
기본적으로 자동 스크롤이 켜져 있는 것으로 나타났다.그것은 내가 예상했던 것보다 더 안절부절못하게 반응한다.즉, 화면 가장자리(위 또는 아래)로 상당히 정확하게 끌어서 스크롤해야 하지만, 박스 밖으로 잘 작동한다.
따라서 다음과 같이 간단하다.
import draggable from "vuedraggable";
참조URL: https://stackoverflow.com/questions/58505505/how-to-use-autoscroll-feature-vue-draggable
'programing' 카테고리의 다른 글
이 방법 서명의 줄임표(...)는 무엇인가? (0) | 2022.05.23 |
---|---|
Java : 비교 대상 대 비교 대상 (0) | 2022.05.23 |
Axios 요청 - 쿼리된 데이터 대신 Getter setter 메서드를 제공 (0) | 2022.05.23 |
Vue.js 계산된 속성을 강제로 다시 계산하시겠습니까? (0) | 2022.05.23 |
외부 라이브러리에서 정의되지 않은 속성을 추가할 때 Vue에서 변경 사항을 감지하지 못함 (0) | 2022.05.23 |