vue-draggable 學(xué)習(xí)和使用

1.在項(xiàng)目中總會(huì)遇見一些需要排序的數(shù)據(jù) , 我們可以通過vue.draggable 進(jìn)行拖動(dòng)排序 。
2.Draggable為基于Sortable.js的vue組件,用以實(shí)現(xiàn)拖拽功能。
3.拖頂?shù)臄?shù)據(jù)和data里的數(shù)據(jù)為雙向綁定 ,在界面變的時(shí)候data中的數(shù)據(jù)也在跟著變化。

安裝

npm i -S vuedraggable

使用

頁(yè)面引入

import draggable from "vuedraggable"

定義組件

  components: {
     draggable
  },

效果展示

low的效果圖

頁(yè)面使用

  <draggable
            class="syllable_ul"
            element="ul"
            :list="syllable"
            :options="{group:'title', animation:150}"
            :no-transition-on-drag="true"
            @change="change"
            @start="start"
            @end="end"
            :move="move"
          >
            <transition-group type="transition"  :name="!drag? 'syll_li' : null" :css="true">
              <li v-for="(item , idx) in syllable" :key="idx">{{item.title}}</li>
            </transition-group>
          </draggable>

事件

 //evt里面有兩個(gè)值,一個(gè)evt.added 和evt.removed  可以分別知道移動(dòng)元素的ID和刪除元素的ID
    change(evt) {
      console.log(evt , 'change...')
    },
    //start ,end ,add,update, sort, remove 得到的都差不多
    start(evt) {
      this.drag = true
      console.log(evt , 'start...')
    },
    end(evt) {
      console.log(evt , 'end....')
      this.drag = true
      evt.item //可以知道拖動(dòng)的本身
      evt.to    // 可以知道拖動(dòng)的目標(biāo)列表
      evt.from  // 可以知道之前的列表
      evt.oldIndex  // 可以知道拖動(dòng)前的位置
      evt.newIndex  // 可以知道拖動(dòng)后的位置
    },
    move(evt, originalEvent) {
      console.log(evt , 'move')
      console.log(originalEvent) //鼠標(biāo)位置
    }

屬性和方法說明

屬性( Attributes)

draggable的屬性:

參數(shù) 說明 可選值 默認(rèn)值
value 用于實(shí)現(xiàn)拖拽的list,通常和內(nèi)部v-for循環(huán)的數(shù)組為同一數(shù)組 Array,非必須 null
list 就是value的替代品。從表現(xiàn)上沒有看出不同 Array,非必須 null
element <draggable>標(biāo)簽在渲染后展現(xiàn)出來的標(biāo)簽類型 ,可以用來兼容UI組件 String, div
options 配置項(xiàng)對(duì)象 下面有詳細(xì)解釋 Object
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 以前項(xiàng)目用過vue-draggable,可是并沒有把學(xué)習(xí)資料記錄下來,最近項(xiàng)目又要用到draggable,所以寫了...
    this_smile閱讀 89,630評(píng)論 15 45
  • 基于Vue的一些資料 內(nèi)容 UI組件 開發(fā)框架 實(shí)用庫(kù) 服務(wù)端 輔助工具 應(yīng)用實(shí)例 Demo示例 element★...
    嘗了又嘗閱讀 1,275評(píng)論 0 1
  • 一、了解Vue.js 1.1.1 Vue.js是什么? 簡(jiǎn)單小巧、漸進(jìn)式、功能強(qiáng)大的技術(shù)棧 1.1.2 為什么學(xué)習(xí)...
    蔡華鵬閱讀 3,492評(píng)論 0 3
  • Draggable為基于Sortable.js的vue組件,用以實(shí)現(xiàn)拖拽功能。 特性 支持觸摸設(shè)備支持拖拽和選擇文...
    淚滴在琴上閱讀 64,999評(píng)論 13 21
  • 作者:小C?染月 介紹 主角 A姐 在文章中出現(xiàn)19~51歲 ...
    小C和染月閱讀 500評(píng)論 0 1

友情鏈接更多精彩內(nèi)容