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

首頁 > 語言 > JavaScript > 正文

sortable+element 實現表格行拖拽的方法示例

2024-05-06 15:38:16
字體:
來源:轉載
供稿:網友

背景

1、vue項目中的表格需要實現行拖拽功能

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組件,用以實現拖拽功能

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

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

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

如果你的項目中,表格未使用組件庫,實現可以參考 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>

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

mounted() {   // 表格中需要實現行拖動,所以選中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)   }  }) }

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 永昌县| 昌乐县| 兰西县| 临安市| 通海县| 南江县| 内黄县| 廊坊市| 庆安县| 武夷山市| 从化市| 泰顺县| 依兰县| 汽车| 湟中县| 荆州市| 崇文区| 潜山县| 历史| 繁峙县| 阳东县| 镶黄旗| 揭东县| 成都市| 塔城市| 凌海市| 枝江市| 鄂尔多斯市| 海口市| 中牟县| 连城县| 塘沽区| 财经| 兴业县| 奉新县| 襄汾县| 阜平县| 荃湾区| 隆林| 临泽县| 清镇市|