而且Element-UI 的 Table 组件封装得很严谨,直接操作 dom 很容易产生不可预计的 bug 所以我的核心思路就是:通过一个数组渲染表头(列),然后修改这个数组的顺序,从而修改列表的列排序 template 部分: <div class="w-table" :class="{'w-table_moving': dragState.dragging}"> <el-table :data="data" :bord...
1.封装一个拖动事件 2.全局引入 3.在表格中使用 一、需求 在使用element-ui的el-table的时候,难免会遇到列太多,使用悬浮列的情况,这个是element官方封装好的,只需要添加一个fixed的属性即可实现固定列的悬浮效果。 but!! 他却没有封装更为人性化的操作,例如鼠标点击进行拖动!! 只能通过点击拖动条进行左右拖动,...
elementUI实现动态拖拽表头、可拖拽列 <divclass="exec-result w-table":class="{'w-table_moving': dragState.dragging}"><divclass="space-between"><h4>查询结果</h4><pclass="total-page">共{{totalNum}}条</p></div><el-tableid="dragTable":data="tableData"border ref="dragTable"width="100...
而且Element-UI 的 Table 组件封装得很严谨,直接操作 dom 很容易产生不可预计的 bug 所以我的核心思路就是:通过一个数组渲染表头(列),然后修改这个数组的顺序,从而修改列表的列排序 template 部分: <divclass="w-table":class="{'w-table_moving': dragState.dragging}"><el-table:data="data":border="opt...
先在data函数里面定义一个枚举值,有多少列就对应多少条,prop跟 el-table-column里面设置prop的值一样,这里设枚举值的原因是,跟拖动的函数做匹配,并存储宽度。 根据自己的业务key来。 拖拽之后计时保存到localstorage中。 当你拖动的时候就会存储到本地,这时候已经看到了width里面存储的对应列的宽度。
<template> <div> <h1>基于element-ui table列拖拽实现</h1> <drag-head :head-columns="tableHead" :data="tableData"></drag-head> </div> </template> <script> import DragHead from "./dragHead.vue"; export default { name: "DragHeadCase", components: { DragHead }, data() { return ...
(newIndex,0,currRow)}})},//列拖拽columnDrop(){constwrapperTr=document.querySelector('.el-table__header-wrapper tr')this.sortable=Sortable.create(wrapperTr,{animation:180,delay:0,onEnd:evt=>{constoldItem=this.dropCol[evt.oldIndex]this.dropCol.splice(evt.oldIndex,1)this.dropCol.splice(...
公司需求 需要 el-table中的数据进行 人为的拖拽排序 看到排序 相信大家第一时间都会想到 vuedraggable 但是 经由本人测试后发现 el-table,如果用 draggable 标签包裹,那么排序的只是表格本身。 那么怎么办呢 我说下我的解决方案 首先安装sortablejs 然后引入 sortablejs ...
{ // 表头数据 tableHeader: [ { label: "姓名", prop: "name", }, { label: "年龄", prop: "age", }, { label: "家乡", prop: "home", }, { label: "爱好", prop: "hobby", }, ], // 表体数据 tableBody: [ { id: "1", name: "孙悟空", age: 500, home: "花果山", ...
目前elmenetUI的表格是不支持拖动的,但表格行拖动要求往往比较常见。通过引入sortableJS可以方便的让elementUI组件中的table支持拖动效果。 网上大部分方案如下: SortableJS + 原生table SortableJS + 原生table + elementUI样式 使用vueDraggable组件:https://github.com/SortableJS... ...