<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
npm i vue-slicksort -S
<div class="maintenance_img mt50 mb50 pl20 pr20" style="font-size: 16px;font-weight: 600;position: relative;"> <!-- 拖拽 --> <SlickList :lockToContainerEdges="true" lockAxis="x" axis="x" v-model="maintenanceData.img_list" @input="getChangeLists" style="display: flex" > <SlickItem style="z-index: 10000" v-for="(item, index) in maintenanceData.img_list" :index="index" :key="index"> <div class="maintenance_top"> <img :src="item" @mouseover="changeMask(index)" @mouseout="changeMask(index)" alt=""> </div> </SlickItem> </SlickList> <div style="display: flex;position: absolute;bottom: -15px;"> <div class="maintenance_icon" v-for="(item, index) in maintenanceData.img_list" :key="index"> <div class="img_bg" :ref="'mask' + index" @mouseover="changeMask(index)" @mouseout="changeMask(index)"> <Icon @click.stop="isImgShow = true;bigImg = item" class="pointer" size="20" color="#000000" type="md-search" /> <Icon @click.stop="downloadImg(item)" class="pointer" size="20" color="#000000" type="md-download" /> <Icon @click.stop="movingItems(4, index)" class="pointer" size="20" color="#000000" type="md-trash" /> </div> </div> </div> <!-- 600*330 --> <div class="add-img" v-if="maintenanceData.img_list.length<5"> <span> <Icon type="md-add" size="30"></Icon> </span> <p>新增圖片</p> <input @change="uploadImegs($event, 1)" type="file" accept="image/*" /> </div> </div>
import { SlickList, SlickItem } from "vue-slicksort"; export default { components:{ SlickItem, SlickList }, data() { return { maintenanceData: { img_list: [], //圖片 }, } }, created() { }, methods: { getChangeLists(vals) { // 拖拽完成後返回新的排序陣列 console.log(vals); }, }, }
.maintenance_top { display: flex; z-index: 10000; } .maintenance_top { width: 140px; height: 78px; border: 1px dashed #ccc; border-radius: 6px; display: flex; align-items: center; position: relative; margin-right: 15px; } .maintenance_top > img{ max-width: 138px; max-height: 138px; border-radius: 6px; } .maintenance_icon{ width: 140px; display: flex; align-items: center; position: relative; margin-right: 15px; } .maintenance_img{ display: flex; } .maintenance_img>div>div{ z-index: 10000; } .maintenance_img > .add-img{ display: block; width: 140px; height: 78px; border-radius: 6px; } .img_bg{ width: 100%; height: 40px; position: absolute; bottom: -20px; left: 0; border-radius: 6px; display: none; align-items: center; justify-content: space-evenly; }
名稱 | 型別 | 預設值 | 說明 |
---|---|---|---|
value | Array | - | 列表的內容 |
axis | String | y | 列表元素可以被橫向拖拽,縱向拖拽還是網格拖拽。用x,y,xy來表示 |
lockAxis | Array | - | 用於排序時在座標系中鎖定元素的移動 |
helperClass | String | - | helper的自定義樣式類 |
transitionDuration | Number | 300 | 元素移動動畫的持續時間 |
pressDelay | Number | 0 | 如果需要當元素被按下一段時間再允許拖拽,可以設定這個屬性 |
pressThreshold | Number | 5 | 移動允許被忽略的閾值,單位是畫素 |
distance | Number | 0 | 如果需要在拖拽出一定距離之後才被識別為正在拖拽的元素,可以設定這個屬性 |
useDragHandle | Boolean | false | 如果使用HandleDirective,設定為true |
useWindowAsScrollContainer | Boolean | false | 是否設定window為可捲動的容器 |
hideSortableGhost | Boolean | true | 是否自動隱藏ghost元素 |
lockToContainerEdges | Boolean | false | 是否對正在拖拽的元素鎖定容器邊緣 |
lockOffset | String | 50% | 對正在拖拽的元素鎖定容器邊緣的偏移量 |
shouldCancelStart | Function | - | 在拖拽開始前這個方法將被呼叫 |
getHelperDimensions | Function | - | 可選方法({node, index, collection}),用於返回SortableHelper的計算尺寸 |
名稱 | 引數 | 說明 |
---|---|---|
sortStart | event, node, index, collection | 當拖拽開始時觸發 |
sortMove | event | 當拖拽時滑鼠移動時觸發 |
sortEnd | event, newIndex, oldIndex, collection | 當拖拽結束時觸發 |
input | newList | 當拖拽結束後產生新的列表時觸發 |
v-handle 指令在可拖動元素內部使用。(即用了這個指令,可以讓拖動只在元素的某個位置生效)
Container 必須由 :useDragHandle 屬性,且設定為 true 時才能正常工作。
這裡有關於此的一個簡單元素的例子:
<template> <li class="list-item"> <!-- 拖動只在 span 元素上生效 --> <span v-handle class="handle"></span> {{item.value}} </li> </template> <script> import { ElementMixin, HandleDirective } from 'vue-slicksort'; export default { mixins: [ElementMixin], directives: { handle: HandleDirective }, }; </script>
以上為個人經驗,希望能給大家一個參考,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45