我的编程空间,编程开发者的网络收藏夹
学习永远不晚

vue实现自定义表格工具扩展

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

vue实现自定义表格工具扩展

本文实例为大家分享了vue自定义表格工具扩展的具体代码,供大家参考,具体内容如下

工具组件

<template>
    <div class="right-btn">
        <el-row>
            <el-tooltip
                effect="dark"
                :content="showSearch ? '隐藏搜索' : '显示搜索'"
                placement="top"
            >
                <el-button 
                    size="mini" 
                    circle 
                    icon="el-icon-search"
                    @click="toggleSearch()" 
                />
            </tooltip>
            <el-tooltip
                effect="dark"
                content="刷新"
                placement="top"
            >
                <el-button 
                    size="mini"
                    circle
                    icon="el-icon-refresh"
                    @click="refresh()"
                />
            </el-tooltip>
            <el-tooltip
                effect="dark"
                content="显隐列"
                placement="top"
                v-if="columns"
            >
                <el-button 
                    size="mini"
                    circle
                    icon="el-icon-menu"
                    @click="showColumn()"
                />
            </el-tooltip>
        </el-row>

        // 显隐列对话框
        <el-dialog
            :title="title"
            :visible.sync="open"
            append-to-body
        >
            <el-transfer
                :title="['显示', '隐藏']"
                v-model="value"
                :data="columns"
                @change="changeData"
            ></el-transfer>
        </el-dialog>
    </div>
</template>

<script>
    export default {
        name: 'RightToolbar',
        data () {
            return {
                value: [], // 显隐数据
                title: "显示/隐藏", // 弹出层标题
                open: false, // 弹出层显示状态
            }
        },
        prop: {
            showSearch: {
                type: Boolean,
                default: true
            },
            columns: {
                type: Array
            }
        },

        created () {
            // 显隐列初始默认隐藏列
            for (let item in this.columns) {
                if (this.columns[item].visible === false) {
                    this.value.push(parseInt(item))
                }
            }
        }
        methods: {
            // 搜索
            toggleSeach () {
                this.$emit('update:showSeach', !this.showSearch);
            },
            // 刷新
            refresh () {
                this.$emit('queryTable');
            },
            // 打开显隐列对话框
            showColumn (){
                 this.open = true;
             },
             // 右侧列表元素变化
             changeData (data) {
                 for (var item in this.columns) {
                     const key = this.columns[item].key;
                     this.columns[item].visible = !data.includes(key);
                 }
             }
        }
    }
</script>

在main.js全局注册工具组件

import RightToolbar from '@/components/RightToolbar';

// 全局组件挂载
Vue.component('RightToolbar', RightToolbar);

其他页面引入工具组件

<template>
    <div class="index">
        <el-form v-show="showSearch"></el-form>
        <right-toolbar
            :showSearch.sync="showSearch"
            @queryTable="getList"
            :columns="columns"
        >
        <right-toolbar>
        <el-table>
            <el-table-column label="用户编号" v-if="columns[0].visible"></el-table-column>
            <el-table-column label="用户名称" v-if="columns[1].visible"></el-table-column>
            <el-table-column label="用户昵称" v-if="columns[2].visible">
            </el-table-column>
        </el-table>
    </div>
</template>

<script>
    export default {
        data () {
            return {
                // 显示搜索条件
                showSearch: true,
                // 列信息
                columns: [
                    {key: 0, label: '用户编号', visible: true},
                    {key: 1, label: '用户名称', visible: true},
                    {key: 2, label: '用户昵称', visible: true}
                    // ...
                ]
            }
        },
        created () {
            this.getList();
        },
        // 查询
        getList () {
            // 调用接口
        }
    }
</script>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

vue实现自定义表格工具扩展

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Vue+element自定义指令如何实现表格横向拖拽

这篇文章主要介绍了Vue+element自定义指令如何实现表格横向拖拽,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2022-11-13

DEDECMS 扩展标签和dede自定义标签实现方法

我们需要知道下扩展标签的存放目录及文件名构成,首先,扩展的标签都是存放在/include/taglib这个目录,名称都是以“标签名.lib.php”格式,例如{dede:channel/}标签对应的是channel.
2022-06-12

golang自定义函数实现的维护和可扩展性

回答:提升 golang 中自定义函数的可维护性和可扩展性可以通过遵循步骤:命名约定:使用匈牙利命名法,前缀描述函数类型或用途。接口:定义接口强制行为,无需实现细节,方便替换实现。避免全局变量:使用参数或局部变量传递数据,提高内聚性和松散耦
golang自定义函数实现的维护和可扩展性
2024-04-26

layui table自定义工具栏按钮功能的开发(layui table自定义工具栏按钮的实现)

layuitable自定义工具栏按钮功能开发指南。创建工具栏模板:在HTML中定义工具栏模板,添加按钮和事件标志。实现点击事件:监听工具栏按钮点击事件,根据事件标志执行特定功能。新增按钮示例:使用layer.open打开弹窗,获取新增数据并提交。删除按钮示例:获取选中行数据,确认删除后提交数据。拓展:自定义按钮样式和图标禁用按钮状态
layui table自定义工具栏按钮功能的开发(layui table自定义工具栏按钮的实现)
2024-04-02

PHP扩展开发:如何通过接口分离自定义函数的实现和定义?

php扩展中,通过接口分离实现和定义自定义函数可提升靈活性。首先定義接口包含函數簽名和元數據,然後創建實現類實現函數代碼。透過註冊擴充函數並建立實現對象,可使用定義的函數,好處包括獨立單元測試、重用性提升和維護性改善。PHP 扩展开发:通过
PHP扩展开发:如何通过接口分离自定义函数的实现和定义?
2024-05-15

jmeter怎么添加自定义扩展函数实现图片base64编码

这篇“jmeter怎么添加自定义扩展函数实现图片base64编码”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“jmeter怎
2023-06-29

PHP扩展开发:如何通过性能分析工具提升自定义函数的效率?

使用 xdebug 和 blackfire 等性能分析工具,可以有效识别和解决 php 自定义函数中的性能问题:分析函数调用,识别多余调用并予以删除。优化循环内变量访问,使用局部变量存储已计算的值以减少不必要的访问。PHP 扩展开发:性能分
PHP扩展开发:如何通过性能分析工具提升自定义函数的效率?
2024-05-15

轻松实现可扩展自定义的Android滚轮时间选择控件

项目需求中有个功能模块需要用到时间选择控件,但是android系统自带的太丑了,只能自己优化下,结合WheelView实现滚轮选择日期,好像网上也挺多这种文章的。但是适用范围还是不同,希望这个能够对需求相同的朋友有一定帮助。控件标题还有年月
2022-06-06

Pandas实现自定义Excel格式并导出多个sheet表

pandas默认整合XlsxWriter驱动,可以自动化处理excel操作,并提供公式、设置单元格格式、可视化分析图片等操作,本文就来和大家详细聊聊
2023-05-19

如何使用Python实现图片自定义裁剪小工具

这篇文章主要介绍了如何使用Python实现图片自定义裁剪小工具,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。环境依赖ffmpy安装:pip install ffmpy -i
2023-06-28

Go语言自定义linter静态检查工具怎么实现

今天小编给大家分享一下Go语言自定义linter静态检查工具怎么实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Go语言中
2023-06-30

PHP扩展开发:如何使用抽象类实现自定义函数的继承?

在 php 扩展中,使用抽象类实现自定义函数继承的方法如下:定义抽象类,指定函数签名和文档;创建子类实现具体函数;在扩展模块注册自定义函数;创建子类支持不同的转换;注册自定义函数供 php 代码调用。在 PHP 扩展中使用抽象类实现自定义函
PHP扩展开发:如何使用抽象类实现自定义函数的继承?
2024-05-15

编程热搜

目录