国产探花免费观看_亚洲丰满少妇自慰呻吟_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  }

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

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

圖片精選

主站蜘蛛池模板: 乐亭县| 土默特左旗| 保康县| 深水埗区| 松桃| 吉安县| 红河县| 长沙县| 留坝县| 阳曲县| 行唐县| 四会市| 恩施市| 渝北区| 雷山县| 莱州市| 新沂市| 克拉玛依市| 科技| 平阴县| 乡宁县| 揭西县| 凤城市| 即墨市| 云霄县| 新津县| 安仁县| 广安市| 延长县| 会理县| 乐山市| 徐汇区| 保德县| 高台县| 象州县| 镇康县| 泾源县| 囊谦县| 巴塘县| 小金县| 星子县|