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

首頁 > 編程 > JavaScript > 正文

sortable+element 實現(xiàn)表格行拖拽的方法示例

2019-11-19 11:22:50
字體:
供稿:網(wǎng)友

背景

1、vue項目中的表格需要實現(xiàn)行拖拽功能

2、表格使用element組件庫中el-table

方案介紹

Sortable.js

介紹:Sortable.js是一款輕量級的拖放排序列表的js插件

引用自官方文檔:No jQuery required. Supports Meteor, AngularJS, React, Polymer, Vue, Knockout and any CSS library, e.g. Bootstrap.

參考地址: https://github.com/SortableJS/Sortable

vuedraggable
介紹:基于Sortable.js的vue組件,用以實現(xiàn)拖拽功能

引用自官方文檔:Vue drag-and-drop component based on Sortable.js

參考地址: https://github.com/SortableJS/Vue.Draggable

遇到的問題
在使用vuedraggable的過程中,發(fā)現(xiàn)必須用<draggable></draggable>包裹拖動項的父級元素,但是element組件庫對table進行封裝,無法直接包裹拖動項(即tr)的父級元素

如果你的項目中,表格未使用組件庫,實現(xiàn)可以參考 http://www.survivalescaperooms.com/article/162648.htm

解決方案

使用 sortable.js

步驟一: 安裝

npm install vuedraggable

步驟二:引入

import Sortable from 'sortablejs';@Component({ components: {  Sortable }})

步驟三: el-table 添加row-key屬性

<el-table ref="filterTable" row-key="ip"  @filter-change="handlerFilterChange"  class="cl-table"  :data="resourceList"  v-loading="resourceListLoading"  stripe style="width:100%;"> <el-table-column   prop="name"  label="主機名"   :min-width="150"   show-overflow-tooltip> </el-table-column> </el-table>

步驟四 : 將拖拽元素設(shè)置為要拖動項的父級元素

mounted() {   // 表格中需要實現(xiàn)行拖動,所以選中tr的父級元素  const table = document.querySelector('.el-table__body-wrapper tbody')  const self = this  Sortable.create(table, {   onEnd({ newIndex, oldIndex }) {    console.log(newIndex, oldIndex)    const targetRow = self.resourceList.splice(oldIndex, 1)[0]    self.resourceList.splice(newIndex, 0, targetRow)   }  }) }

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 鄂州市| 措勤县| 察雅县| 龙川县| 托克逊县| 天等县| 天柱县| 开阳县| 察哈| 德格县| 鲁山县| 全州县| 宜丰县| 盖州市| 宝山区| 和林格尔县| 武穴市| 阜城县| 射阳县| 天峨县| 德昌县| 扶绥县| 茂名市| 库尔勒市| 岫岩| 中山市| 万年县| 中西区| 陕西省| 南郑县| 贡觉县| 仙居县| 海淀区| 军事| 衡阳县| 贡山| 富平县| 永康市| 平顶山市| 留坝县| 黔西|