关键词:
Element UI table 顺序拖动
使用Sortable.js插件。对element-ui中的el-table进行拖拽行排序。
new Sortable(example1,
animation: 150,
ghostClass: 'blue-background-class'
);
官网:
[1] Sortable.js官网配置项说明等
[2] Sortable更多使用示例
一、基本使用
1、安装
npm install sortablejs --save
2、引用
import Sortable from 'sortablejs'
3、使用
<el-table
id="table"
:data="list"
row-key="id"
style="width: 500px"
>
<el-table-column
prop="name"
label="称"
width="180"
/>
<el-table-column label="操作">
<template slot-scope="scope">
<el-button
class="handle"
size="mini"
><i class="el-icon-rank" /> 移动</el-button>
</template>
</el-table-column>
</el-table>
<script>
// 引用 Sortable
import Sortable from 'sortablejs'
export default
data()
return
list: []
,
mounted()
this.rowDrop();
,
methods:
//行拖拽,排序方法
rowDrop()
// 获取对象
const el = document.querySelector('#ability-table .el-table__body-wrapper tbody')
const self = this
// 配置
var ops =
handle: ".handle",
onEnd( newIndex, oldIndex )
self.list.splice(newIndex, 0, self.list.splice(oldIndex, 1)[0])
const newArray = self.list.slice(0)
newArray.forEach((value, index) =>
value.orderNum = index + 1 //序号为index+1
self.$set(newArray, index, value)
self.list= [] //
self.$nextTick(() =>
self.list= newArray ? newArray : []
)
Sortable.create(el,ops)
,
</script>
说明:
orderNum
:为排序号
handle
: 使列表单元中符合选择器的元素成为拖动的手柄,只有按住拖动手柄才能使列表单元进行拖动
Array.splice()
方法有三个参数:
index
:规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。howmany
:要删除的项目数量。如果设置为 0,则不会删除项目。item1, ..., itemX
:向数组添加的新项目。
注意:
newArray = Array.splice(0)
: 表示将原数组赋给新数组,并将原数组清空。- 要在el-table渲染后调用 this.rowDrop(); 方法
- 组件绑定是根据Id绑定的:
document.querySelector('#ability-table .el-table__body-wrapper tbody')
,要注意父组件Id和子组件Id不要重名,否则会优先绑定到父组件对应的Id元素。
elementuitable实现直接编辑上下移动(代码片段)
ElementUItable直接编辑、上下移动一、直接编辑二、上下移动一、直接编辑演示:代码示例:<!DOCTYPEhtml><html><body><divid="app"><el-row><el-colspan="24"><el-tables 查看详情
elementuitable状态显示:禁用-启用上架-下架(代码片段)
vue2.0+elementUI解决表单上架下架状态的切换https://blog.csdn.net/weixin_42507803/article/details/81910297<el-table-columnlabel="状态"prop="userState"width="100"><templatescope="scope"><div><!-- 查看详情
elementuitable中使用拖拽排序组件sortablejs及注意事项(代码片段)
elementuitable中使用拖拽排序组件sortablejs及注意事项1.使用:先安装sortablejs插件,然后在当前页面引入npminstallsortablejs--saveimportSortablefrom"sortablejs";具体代码如下:<el-tableclass="sortingVisible" 查看详情
elementuitable表格多对一设计合并(代码片段)
<template><BoxCorner><el-containerstyle="border:1pxnone#04c6ee;height:100%"><el-main><el-containerstyle="border:1pxnone#04c6ee;height:100%;background-color:white"><el- 查看详情
elementuitable组件自定义合计栏,后台给的数据(代码片段)
合计的数据是后台传的,所以用table组件自定义一行用来合计<el-tableborderfitv-loading.body="listLoading"element-loading-text="拼命加载中":data="getChannelData"style="width:100%":default-sort 查看详情
elementuitable的多选框:分页选择数据回显,分页保存选中的数据。(代码片段)
<template><el-table@selection-change="handleSelectionChange":row-key="getRowKeys"><!--type必须是selection的一列设置reserve-selection属性--> <el-table-columntype="selection":reserve-selecti 查看详情
elementuitable组件固定列底部有一条白线的解决方案(代码片段)
bug:在某一次项目中使用暗色系的固定列时发现有一条白线无法消除(之前项目都是亮色系所以没发现问题)通过排查发现这条白线能够随着el-table__fixed-right元素移动但是却没有任何子元素包含这条线的样式所以一直没有... 查看详情
基于jquery的可拖动列表格插件tadatables(代码片段)
前言最近项目中在使用能够拖动列调整列位置顺序的表格插件---TadaTables,这也是目前我找到的唯一一种存在有这种功能的插件。在查找使用方法的过程中发现可用案例并不多,且大多言语不详。本文将全面介绍此插件的使用过程... 查看详情
记一个react拖动排序中的坑:key(代码片段)
...加排序支持后发现一个问题:数据正确排序了,但是dom的顺序却乱了,找了一会儿原因后发现是因为在渲染数据的时候指定了一个动态的key(map((o,i)=>(<likey=i></li>))),导致了dom顺序混乱。解决方案有:将数据装入模... 查看详情
elementuitable横向滚动条遇到的问题汇总
参考技术A1.横向滚动条且左侧列固定时,滚动条的可操作区域被遮挡,必须点击空白处才可实现拖动,更改样式解决:/deep/#outputTable.el-table__fixed.el-table.el-table__fixedheight:auto!important; bottom:17px!important; /deep/#outp... 查看详情
elementuitable组件固定列底部有一条白线的解决方案(代码片段)
bug:在某一次项目中使用暗色系的固定列时发现有一条白线无法消除(之前项目都是亮色系所以没发现问题)通过排查发现这条白线能够随着el-table__fixed-right元素移动但是却没有任何子元素包含这条线的样式所以一直没有... 查看详情
datagrid拖动列头更换排列顺序
在做这个功能的时候在网上找了大量资料,发现都不适用,要不然就是代码太冗余,所以另起炉灶,自己封装了这个函数下面是完整的代码:1<!DOCTYPEhtml>2<html>3<headlang="en">4<metacharset="UTF-8">5<title></title>6<linkrel... 查看详情
elementuitable数据显示效果
效果图:说明:运营成本支出下面存在不确定个子项数据格式:里面还嵌套json数组对象思路:1把json数组对象要显示的数组添加到原数组(8:2000=>id:value),通过:prop="item.id" item.id是json数组对象的id,因为原数组已经添加了id这个属性... 查看详情
elementuitable左右固定如何调整每个单元格行高
参考技术A固定表头增加height或者表格数据内容太大导致行高不统一,代码处理行高统一为40px.tableClass.cellpadding:0!important;height:40px;line-height:30px!important;text-align:center; 查看详情
react实现拖拽功能(代码片段)
...下相似的功能,顺便学习一下H5的拖拽。不支持拖拽改变顺序,感觉有点麻烦,而且没必要。感觉相关的博文好少的,大部分都是直接上代码,没有解释。 图片默认可以拖动,其他元素的拖动效果同图片。正常的div是不能被... 查看详情
javascript单击并拖动(代码片段)
selenium(代码片段)
...击、拖动等;当调用ActionChains的方法时,会将所有操作按顺序存入队列当调用perform()方法时,队列中的事件会依次进行 fromseleniumimportwebdriverfromselenium.webdriverimportActionCha 查看详情