awe-dnd 实现el-table动态拖拽设置表头

本文介绍如何在Vue和Element UI项目中利用awe-dnd插件实现el-table表头的动态拖拽功能。通过安装和注册awe-dnd,结合Vue的指令和方法,实现了表格列的拖拽排序,并详细展示了相关代码实现和效果展示。

项目场景:

VUE+Element 实现el-table动态设置表头(可拖拽)


问题描述:

由于Element组件不支持动态拖拽设置表头,所以使用awe-dnd插件实现拖拽效果


实现方法:

安装依赖

npm install awe-dnd --save

全局注册或局部注册

1、全局注册

  • 在main.js文件中
import VueDND from 'awe-dnd';
// 注册-拖拽组件
Vue.use(VueDND);

2、局部注册(页面内注册)

import Vue from 'vue'
import VueDND from 'awe-dnd'
Vue.use(VueDND)

页面使用

1、HTML

<template>
<div class="table-box">
            <el-table
              v-loading="loading"
              :data="tableData"
              style="width: 100%"
              :header-cell-style="{
   
   
                background: '#FAFAFA',
                color: '#000000',
                'font-family': 'Source Han Sans CN',
                'font-size': '14px',
                'font-weight': '400'
              }"
            >
              <!-- checkedTitle -->
              <el-table-column
                v-for="(title, titleIndex) in checkedTitleList"
                :key="titleIndex"
                :prop="title.column"
                :label="title.text"
                width="180"
                :sortable="title.sortable"
              >
                <template slot-scope="{ row }">
                  <span>11</span>
                </template>
              </el-table-column>
              <el-table-column
                label="操 作"
                width="260"
                fixed="right"
                class-name="small-padding fixed-width"
              >
                <template slot-scope="{ row }">
                  <div class="level buttons" style="padding: 0 5px">
                    <div
                      v-permission="{ action: 'auxiliary.plan:update' }"
                      class="details-btn"
                      @click="handleUpdate(row)"
                    >
                      编辑
                    </div>
                  </div>
                </template>
              </el-table-column>
            </el-table
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值