vue基于element table表格拖拽

SortableJS中文網(wǎng)

http://www.sortablejs.com

image.png

1. 安裝Sortable.js

npm install sortablejs --save

2. 在需要此功能的頁面中引入

import Sortable from 'sortablejs'

注意:需要注意的是element table務(wù)必指定row-key岛琼,row-key必須是唯一的裕寨,如ID绒极,不然會出現(xiàn)排序不對的情況打掘。 但是不可用index,因?yàn)橥献Ш骾ndex會變,會有問題。row-key對應(yīng)數(shù)據(jù)的id唯一值

html布局

<template>
  <div class="table-wrap">
    <div class="table-box">
      <h4>vue基于element table表格拖拽:</h4>
      <el-table :data="tableData" border stripe row-key="id" align="left">
        <el-table-column v-for="(item, index) in col"
          :key="`col_${index}`"
          :prop="dropCol[index].prop"
          :label="item.label"> 
        </el-table-column>
      </el-table>
    </div>
    <hr>
    <div class="datashow-box">
      <div class="columndata">
        <h4>列拖拽時的數(shù)據(jù)變化:</h4>
        <pre style="text-align: left">{{dropCol}}</pre>
      </div>
      <div class="rowdata">
        <h4>行拖拽時的數(shù)據(jù)變化:</h4>
        <pre style="text-align: left">{{tableData}}</pre>
      </div>
    </div>
  </div>
</template>

js核心代碼

import Sortable from 'sortablejs'
export default {
  data () {
    return {
      col: [
        {
          label: '日期',
          prop: 'date'
        },
        {
          label: '姓名',
          prop: 'name'
        },
        {
          label: '地址',
          prop: 'address'
        }
      ],
      dropCol: [
        {
          label: '日期',
          prop: 'date'
        },
        {
          label: '姓名',
          prop: 'name'
        },
        {
          label: '地址',
          prop: 'address'
        }
      ],
      tableData: [
        {
          id: '1',
          date: '2016-05-01',
          name: '王小虎1',
          address: '上海市普陀區(qū)金沙江路 101 弄'
        },
        {
          id: '2',
          date: '2016-05-02',
          name: '王小虎2',
          address: '上海市普陀區(qū)金沙江路 102 弄'
        },
        {
          id: '3',
          date: '2016-05-03',
          name: '王小虎3',
          address: '上海市普陀區(qū)金沙江路 103 弄'
        },
        {
          id: '4',
          date: '2016-05-04',
          name: '王小虎4',
          address: '上海市普陀區(qū)金沙江路 104 弄'
        }
      ]
    }
  },
  mounted () {
    this.rowDrop()
    this.columnDrop()
  },
  methods: {
    // 行拖拽
    rowDrop () {
      const tbody = document.querySelector('.el-table__body-wrapper tbody')
      const _this = this
      Sortable.create(tbody, {
        onEnd ({ newIndex, oldIndex }) {
          const currRow = _this.tableData.splice(oldIndex, 1)[0]
          _this.tableData.splice(newIndex, 0, currRow)
        }
      })
    },
    // 列拖拽
    columnDrop () {
      const wrapperTr = document.querySelector('.el-table__header-wrapper tr')
      this.sortable = Sortable.create(wrapperTr, {
        animation: 180,
        delay: 0,
        onEnd: evt => {
          const oldItem = this.dropCol[evt.oldIndex]
          this.dropCol.splice(evt.oldIndex, 1)
          this.dropCol.splice(evt.newIndex, 0, oldItem)
        }
      })
    }
  }
}

參考:http://www.reibang.com/p/697085c108f1

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市桑李,隨后出現(xiàn)的幾起案子踱蛀,更是在濱河造成了極大的恐慌,老刑警劉巖贵白,帶你破解...
    沈念sama閱讀 212,718評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件率拒,死亡現(xiàn)場離奇詭異,居然都是意外死亡禁荒,警方通過查閱死者的電腦和手機(jī)猬膨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來呛伴,“玉大人勃痴,你說我怎么就攤上這事∪瓤担” “怎么了沛申?”我有些...
    開封第一講書人閱讀 158,207評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長姐军。 經(jīng)常有香客問我铁材,道長,這世上最難降的妖魔是什么奕锌? 我笑而不...
    開封第一講書人閱讀 56,755評論 1 284
  • 正文 為了忘掉前任著觉,我火速辦了婚禮,結(jié)果婚禮上惊暴,老公的妹妹穿的比我還像新娘饼丘。我一直安慰自己,他們只是感情好辽话,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評論 6 386
  • 文/花漫 我一把揭開白布葬毫。 她就那樣靜靜地躺著镇辉,像睡著了一般。 火紅的嫁衣襯著肌膚如雪贴捡。 梳的紋絲不亂的頭發(fā)上忽肛,一...
    開封第一講書人閱讀 50,050評論 1 291
  • 那天,我揣著相機(jī)與錄音烂斋,去河邊找鬼屹逛。 笑死,一個胖子當(dāng)著我的面吹牛汛骂,可吹牛的內(nèi)容都是我干的罕模。 我是一名探鬼主播,決...
    沈念sama閱讀 39,136評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼帘瞭,長吁一口氣:“原來是場噩夢啊……” “哼淑掌!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起蝶念,我...
    開封第一講書人閱讀 37,882評論 0 268
  • 序言:老撾萬榮一對情侶失蹤抛腕,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后媒殉,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體担敌,經(jīng)...
    沈念sama閱讀 44,330評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評論 2 327
  • 正文 我和宋清朗相戀三年廷蓉,在試婚紗的時候發(fā)現(xiàn)自己被綠了全封。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,789評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡桃犬,死狀恐怖刹悴,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情攒暇,我是刑警寧澤颂跨,帶...
    沈念sama閱讀 34,477評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站扯饶,受9級特大地震影響恒削,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜尾序,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評論 3 317
  • 文/蒙蒙 一钓丰、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧每币,春花似錦携丁、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽李茫。三九已至,卻和暖如春肥橙,著一層夾襖步出監(jiān)牢的瞬間魄宏,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評論 1 267
  • 我被黑心中介騙來泰國打工存筏, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留宠互,地道東北人。 一個月前我還...
    沈念sama閱讀 46,598評論 2 362
  • 正文 我出身青樓椭坚,卻偏偏與公主長得像予跌,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子善茎,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評論 2 351