-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
120 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,119 @@ | ||
# vue-fast-scroll | ||
|
||
Android의 Fast Scroll을 Web 기반의 Vue.js에서 지원하기 위한 플러그인입니다. | ||
|
||
## Demo | ||
|
||
[CodePen.io](https://codepen.io/beomy/pen/eoEOvW?editors=1010) | ||
|
||
example 디렉토리 밑에 예제 파일로도 확인 할 수 있습니다. | ||
|
||
## Install | ||
|
||
### CDN | ||
|
||
<pre><code><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/vue-fast-scoll.css" /> | ||
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/vue"></script> | ||
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/vue-fast-scroll.js"></script> | ||
<script type="text/javascript"> | ||
Vue.use(window.VueFastScroll) | ||
</script></code></pre> | ||
|
||
### NPM | ||
|
||
<pre><code>npm install vue-fast-scroll | ||
or | ||
yarn add vue-fast-scroll</code></pre> | ||
|
||
<pre><code>import Vue from 'vue' | ||
import VueFastScroll from 'vue-fast-scroll' | ||
|
||
Vue.use(VueFastScroll)</code></pre> | ||
|
||
## 사용 설명 | ||
|
||
### fast-scroll Component | ||
|
||
fast-scroll 컴포넌트를 사용하여 그 안에 fast scroll을 지원해야 될 엘리먼트를 선언합니다. fast-scroll 컴포넌트는 key-list 프로퍼티를 가집니다. | ||
|
||
<pre><code><fast-scroll :key-list="fastScrollKeyList"> | ||
... | ||
</fast-scroll></code></pre> | ||
|
||
### key-list Property | ||
|
||
key-list 프로퍼티로 전달 되어야 할 값은 key와 text를 쌍으로 가지는 객체입니다. key는 스크롤 될 리스트를 검색할 키이고, text는 스크롤 될 수 있는 key 리스트를 화면에 나타낼 문자열입니다. | ||
|
||
<pre><code>fastScrollKeyList = { | ||
{key: 'ㄱ', text: 'ㄱ'}, | ||
{key: 'ㄴ', text: 'ㄴ'}, | ||
{key: 'ㄷ', text: 'ㄷ'}, | ||
{key: 'ㄹ', text: 'ㄹ'}, | ||
{key: 'ㅁ', text: 'ㅁ'}, | ||
{key: 'ㅂ', text: 'ㅂ'}, | ||
{key: 'ㅅ', text: 'ㅅ'}, | ||
{key: 'ㅇ', text: 'ㅇ'}, | ||
{key: 'ㅈ', text: 'ㅈ'}, | ||
{key: 'ㅊ', text: 'ㅊ'}, | ||
{key: 'ㅋ', text: 'ㅋ'}, | ||
{key: 'ㅌ', text: 'ㅌ'}, | ||
{key: 'ㅍ', text: 'ㅍ'}, | ||
{key: 'ㅎ', text: 'ㅎ'} | ||
}</code></pre> | ||
|
||
위의 코드와 같이 key-list를 구성한다면, HTML에는 | ||
|
||
<pre><code><div class="side-indexer"> | ||
<ul> | ||
<li>ㄱ</li> | ||
<li>ㄴ</li> | ||
<li>ㄷ</li> | ||
<li>ㄹ</li> | ||
<li>ㅁ</li> | ||
<li>ㅂ</li> | ||
<li>ㅅ</li> | ||
<li>ㅇ</li> | ||
<li>ㅈ</li> | ||
<li>ㅊ</li> | ||
<li>ㅋ</li> | ||
<li>ㅌ</li> | ||
<li>ㅍ</li> | ||
<li>ㅎ</li> | ||
</ul> | ||
</div></code></pre> | ||
|
||
위의 HTML이 랜더링 됩니다. 이 엘리먼트를 `인덱스 리스트`라고 하도록 하겠습니다. | ||
|
||
### fast-scroll Component의 Slot | ||
|
||
fast-scroll 컴포넌트의 자식 컴포넌트로 fastScrollItems라는 이름을 가지는 Slot을 정의해야 합니다. 이 Slot은 스크롤 될 엘리먼트가 됩니다. 이 엘리먼트를 `스크롤 리스트`라고 하도록 하겠습니다. | ||
|
||
<pre><code><fast-scroll> | ||
<ul slot="fastScrollItems"> | ||
... | ||
</ul> | ||
</fast-scroll></code></pre> | ||
|
||
### fast-key Property | ||
|
||
fast-key 프로퍼티는 스크롤 될 엘리먼트 각각에 선언되어야 하는 프로퍼티입니다. fast-key에 정의 된 값과 key-list 프로퍼티 객체 요소의 key와 매칭 된 위치로 스크롤 됩니다. | ||
|
||
<pre><code><fast-scroll> | ||
<ul slot="fastScrollItems"> | ||
<li :fast-key="'ㄱ'">김치</li> | ||
... | ||
</ul> | ||
</fast-scroll></code></pre> | ||
|
||
## Style | ||
|
||
### `.side-indexer` | ||
|
||
Fast Scroll 할 key과 text로 구성된 `인덱스 리스트`의 스타일 클래스(`<div class="side-indexer"></div>`)입니다. | ||
|
||
### `.fast-scroll-toggle` | ||
|
||
어느 위치로 스크롤 되었는지 나타내는 문자열의 스타일 클래스(`<div class="fast-scroll-toggle"></div>`) 입니다. | ||
|
||
## Author | ||
[Hyo Bum Lee](https://beomy.tistory.com) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters