国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

vue實現div拖拽互換位置

2024-05-06 15:27:36
字體:
來源:轉載
供稿:網友

本文實例為大家分享了vue實現div拖拽互換位置的具體代碼,供大家參考,具體內容如下

template模板

<transition-group tag="div" class="container">  <div class="item" v-for="(item,index) in items" :key="item.key" :style="{background:item.color,width:'80px',height:'80px'}"    draggable="true"  @dragstart="handleDragStart($event, item)"    @dragover.prevent="handleDragOver($event, item)"    @dragenter="handleDragEnter($event, item)"     @dragend="handleDragEnd($event, item)" >  </div></transition-group>

script:

<script>export default { name: 'Toolbar', data () {  return {   items: [    { key: 1, color: '#ffebcc'},    { key: 2, color: '#ffb86c'},    { key: 3, color: '#f01b2d'}   ],        dragging: null  } }, methods:{  handleDragStart(e,item){    this.dragging = item;  },  handleDragEnd(e,item){    this.dragging = null  },  //首先把div變成可以放置的元素,即重寫dragenter/dragover  handleDragOver(e) {    e.dataTransfer.dropEffect = 'move'// e.dataTransfer.dropEffect="move";//在dragenter中針對放置目標來設置!  },  handleDragEnter(e,item){    e.dataTransfer.effectAllowed = "move"http://為需要移動的元素設置dragstart事件    if(item === this.dragging){      return    }    const newItems = [...this.items]    console.log(newItems)    const src = newItems.indexOf(this.dragging)    const dst = newItems.indexOf(item)     newItems.splice(dst, 0, ...newItems.splice(src, 1))     this.items = newItems  } }}</script> <style scoped>  .container{    width: 80px;    height: 300px;    position: absolute;    left: 0;    display:flex;    flex-direction: column;    padding: 0;  }  .item {   margin-top: 10px;   transition: all linear .3s  }

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持錯新站長站。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 安义县| 怀柔区| 垣曲县| 禹城市| 周至县| 桦川县| 鄱阳县| 巍山| 喜德县| 济宁市| 台前县| 石河子市| 广饶县| 玉屏| 鄄城县| 长顺县| 沁水县| 嵊州市| 平原县| 祁门县| 宝丰县| 内乡县| 小金县| 云浮市| 黄石市| 辽宁省| 玉田县| 筠连县| 广元市| 宿松县| 吴旗县| 五指山市| 嵊泗县| 郧西县| 香格里拉县| 新竹市| 阿拉善右旗| 新郑市| 广宁县| 深圳市| 万源市|