本文主要和大家分享vue-slicksort ,它是一個功能強大的可拖曳的vue.js元件。 它可以自動滾動,鎖定座標系。支持拖曳時,流暢的動畫效果。可以支援水平,垂直或網格的拖曳。支援觸摸。希望本文能幫助大家。
DEMO
透過npm安裝
$ npm install vue-slicksort --save
透過yarn安裝
$ yarn add vue-slicksort
引入元件
// Using an ES6 transpiler like Babel import {ContainerMixin, ElementMixin} from 'vue-slicksort'; // Not using an ES6 transpiler var slicksort = require('vue-slicksort'); var ContainerMixin = slicksort.ContainerMixin; var ElementMixin = slicksort.ElementMixin;
在你的vue檔中這樣引用
import Vue from 'vue'; import { ContainerMixin, ElementMixin } from 'vue-slicksort'; const SortableList = { mixins: [ContainerMixin], template: ` <ul class="list"> <slot /> </ul> `, }; const SortableItem = { mixins: [ElementMixin], props: ['item'], template: ` <li class="list-item">{{item}}</li> `, }; const ExampleVue = { name: 'Example', template: ` <p class="root"> <SortableList lockAxis="y" v-model="items"> <SortableItem v-for="(item, index) in items" :index="index" :key="index" :item="item"/> </SortableList> </p> `, components: { SortableItem, SortableList, }, data() { return { items: ['Item 1', 'Item 2', 'Item 3', 'Item 4', 'Item 5', 'Item 6', 'Item 7', 'Item 8'], }; }, }; const app = new Vue({ el: '#root', render: (h) => h(ExampleVue), });
Property | Type | Default | Description |
---|---|---|---|
value | Array | ||
清單的內容 | axis | String | |
#列表元素可以被橫向拖曳,縱向拖曳還是網格拖曳。用x,y,xy表示。 | lockAxis | String | |
用於排序時在座標系中鎖定元素的移動 | helperClass | String | |
helper的自訂樣式類別 | transitionDuration | #Number | |
元素移動動畫的持續時間 | #pressDelay | Number | |
如果需要當元素被按下一段時間再允許拖曳,可以設定這個屬性 | #pressThreshold | Number | |
移動允許被忽略的閾值,單位是像素 | #distance | Number | |
#如果需要在拖曳出一定距離之後才被辨識為正在拖曳的元素,可以設定這個屬性 | #useDragHandle | Boolean | |
如果使用HandleDirective,設定為true | useWindowAsScrollContainer | Boolean | |
是否設定window為可捲動的容器 | hideSortableGhost | Boolean | |
是否設定window為可捲動的容器 | useWindowAsScrollContainer | Boolean | |
是否自動隱藏ghost元素 | lockToContainerEdges | #Boolean | |
是否對正在拖曳的元素鎖定容器邊緣 | lockOffset | String |
以上是vue-slicksort一個vue.js拖曳組件的詳細內容。更多資訊請關注PHP中文網其他相關文章!