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

首頁 > 編程 > JavaScript > 正文

vue實現div拖拽互換位置

2019-11-19 12:26:05
字體:
來源:轉載
供稿:網友

本文實例為大家分享了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  }

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 拜泉县| 肥乡县| 黑河市| 黑水县| 洱源县| 安吉县| 濉溪县| 县级市| 肇源县| 怀集县| 山东省| 商洛市| 永德县| 永川市| 临泉县| 台安县| 天祝| 阳山县| 塘沽区| 广州市| 和平区| 桂平市| 赤城县| 湖口县| 兰考县| 梧州市| 察隅县| 玛纳斯县| 托克托县| 西乌珠穆沁旗| 嘉黎县| 枝江市| 西林县| 灵璧县| 静宁县| 莒南县| 延长县| 四川省| 重庆市| 四川省| 上饶县|