中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue怎么實現拖動圖片進行排序Vue.Draggable

發布時間:2022-04-24 11:52:13 來源:億速云 閱讀:616 作者:iii 欄目:開發技術

這篇文章主要介紹了vue怎么實現拖動圖片進行排序Vue.Draggable的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇vue怎么實現拖動圖片進行排序Vue.Draggable文章都會有所收獲,下面我們一起來看看吧。

拖動圖片進行排序Vue.Draggable

好久沒接觸vue的項目了,最近接到一個vue圖片處理的小項目,有一項需求是要實現拖動圖片就行排序。

接到這個需求之后立馬想到了Vue.Draggable這款基于Sortable.js實現的vue拖拽插件

下面是實現過程 

第一步:安裝Vue.Draggable。兩種方式npm和yarn   (我用的npm)

npm i -S vuedraggable
yarn add vuedraggable

第二步:全局安裝完成之后在main.js中全局引用也行在需要的頁面也用也沒問題 (我因為就一個頁面需要我就單頁面引入的)

<script>
import draggable from "vuedraggable"
export default {
  components: {
    draggable
  }
}
</script>

第三步:安裝和引用都完成了,現在開始使用了。

<template>
  <div class="col">
    <draggable v-model="data" filter=".forbid" animation="300" :move="onMove">
      <transition-group>
        <div v-for="(item, index) in data" :key="index">
          <div class="img-hover">
            <img :src="'http://xxxxx' + item.img"/>
          </div>
        </div>
      </transition-group>
    </draggable>
  </div>
</template>

 注意:

/**
 *代碼中的data為你的數據列表,onMove為你在拖動圖片是觸發的函數方法。
 *transition-group標簽下一定是v-for循環,不然會報錯。
**/

這樣,一個簡單的圖片拖拽排序的簡單demo就完成了。 

項目draggable拖拽移動圖片順序

vue怎么實現拖動圖片進行排序Vue.Draggable

第一步、導入

npm i vuedraggable

第二步、組件引入

import draggable from 'vuedraggable';

第三步、定義組件

components: { draggable},

第四步、頁面中使用

<template>
  <div class="app-container">
      <div :class="canEdit? 'dargBtn-lock el-icon-unlock': 'dargBtn-lock el-icon-lock' " @click="removeEvent()">{{canEdit? '調整':'鎖定'}}</div>
      <ul class="projset-content">
        <draggable
          :move="onMove"
          :list="imgList"
          handle=".dargBtn"
          :animation="200"
          filter=".undraggable"
        >
          <li v-for="(item, index) in imgList" :key="index" :class="canEdit ? 'draggable' : 'undraggable'">
            <div class="dargBtn">
              <svg-icon icon-class="drag" />
            </div>
            <img :src="item.path" alt="">
            <span>{{item.name}}</span>
          </li>
        </draggable>
      </ul>
  </div>
</template>
<script>
  import draggable from 'vuedraggable';
  export default {
    components: { draggable},
    data(){
      return{
        canEdit:true,
        imgList: [
          {
            path: 'https://lupic.cdn.bcebos.com/20210629/3000005161_14.jpg',
            name: '1',
          },
          {
            path: 'https://lupic.cdn.bcebos.com/20210629/26202931_14.jpg',
            name: '2',
          },
          {
            path: 'https://lupic.cdn.bcebos.com/20210629/27788166_14.jpg',
            name: '3',
          }
        ]
      }
    },
    created() {
    },
    mounted(){},
    methods:{
      onMove(relatedContext, draggedContext){
        console.log(relatedContext.relatedContext.list);
      },
      removeEvent (item) {
        if(this.canEdit){
          this.canEdit = false;
        }else{
          this.canEdit = true;
        }
        console.log(this.canEdit);
      }
    }
  }
</script>
<style scoped lang="scss">
  .app-container{
    background: #ffffff;
    height: 100%;
    .dargBtn-lock{
      margin: 0px 50px;
      color: #2ea9df;
    }
    .projset-content{
      list-style-type: none;
      position: relative;
      li{
        display: inline-block;
        margin: 10px;
      }
      img{
        width: 141px;
        height: 100px;
      }
      span{
        justify-content: center;
        display: flex;
      }
      .dargBtn{
        position: absolute;
        line-height: 100px;
        text-align: center;
        width: 141px;
        height: 100px;
        display: none;
        color: white;
        background: rgba(101, 101, 101, 0.6);
      }
      .draggable{
        cursor: pointer;
        width: 141px;
        height: 100px;
      }
      .draggable:hover .dargBtn{
        display: block;
      }
    }
  }
</style>

關于“vue怎么實現拖動圖片進行排序Vue.Draggable”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“vue怎么實現拖動圖片進行排序Vue.Draggable”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

石景山区| 从江县| 论坛| 周至县| 隆子县| 雅江县| 建水县| 阿克苏市| 白沙| 旺苍县| 潍坊市| 清徐县| 万山特区| 淮滨县| 五峰| 舞阳县| 定结县| 西城区| 客服| 鹤岗市| 进贤县| 彭山县| 海晏县| 鲜城| 鹿泉市| 本溪市| 乌审旗| 安图县| 赞皇县| 富宁县| 依兰县| 革吉县| 海盐县| 密云县| 云阳县| 南京市| 治多县| 霞浦县| 日土县| 明水县| 高唐县|