广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >vue实现自定义表格工具扩展
  • 119
分享到

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

2024-04-02 19:04:59 119人浏览 安东尼
摘要

本文实例为大家分享了Vue自定义表格工具扩展的具体代码,供大家参考,具体内容如下 工具组件 <template>     <div class="right-btn

本文实例为大家分享了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>

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

--结束END--

本文标题: vue实现自定义表格工具扩展

本文链接: https://www.lsjlt.com/news/145647.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • vue实现自定义表格工具扩展
    本文实例为大家分享了vue自定义表格工具扩展的具体代码,供大家参考,具体内容如下 工具组件 <template>     <div class="right-btn...
    99+
    2022-11-13
  • vue自定义表格列的实现过程记录
    目录前言效果图 setTable组件 使用 结束语 前言 在我们开发PC端的项目使用表单时,尤其是crm系统,应该经常会遇到这样的需求, 用户需要根据设置来自定义显示列。 查了ele...
    99+
    2022-11-12
  • Springboot自定义mybatis拦截器实现扩展
    前言 相信大家对拦截器并不陌生,对mybatis也不陌生。 有用过pagehelper的,那么对mybatis拦截器也不陌生了,按照使用的规则触发sql拦截,帮我们自动添加分页参数 ...
    99+
    2022-11-12
  • Vue+element自定义指令如何实现表格横向拖拽
    目录element自定义指令实现表格横向拖拽自定义指令设置及常用自定义指令指令定义函数提供了几个钩子函数(可选)下面分享几个实用的 Vue 自定义指令element自定义指令实现表格...
    99+
    2022-11-13
    Vue element 自定义指令 表格横向拖拽
  • Python实现图片自定义裁剪小工具
    目录前言环境依赖代码验证一下前言 本文提供将图片按照自定义尺寸进行裁剪的工具方法,一如既往的实用主义。 环境依赖 ffmpeg环境安装,可以参考:在Windows上安装FFmpeg程...
    99+
    2022-11-13
  • element-table如何实现自定义表格排序
    目录element-table 自定义表格排序第一步第二步原理element-table表格 自定义排序规则项目需求使用element-table 自定义表格排序 第一步 在el-t...
    99+
    2022-11-13
  • DEDECMS 扩展标签和dede自定义标签实现方法
    我们需要知道下扩展标签的存放目录及文件名构成,首先,扩展的标签都是存放在/include/taglib这个目录,名称都是以“标签名.lib.php”格式,例如{dede:channel/}标签对应...
    99+
    2022-06-12
    DEDECMS 扩展标签 自定义标签
  • Pandas实现自定义Excel格式并导出多个sheet表
    目录前言1.导入pandas及数据2.修改pd.to_excle方法3.构建保存方法save4.创建pd.ExcelWriter实例5.创建多个sheet表6.设置自定义列宽7.设置...
    99+
    2023-05-19
    Pandas自定义Excel格式 Pandas导出Excel表格 Pandas Excel
  • PyQt中实现自定义工具提示ToolTip的方法详解
    目录前言实现过程测试后记前言 Qt 自带的工具提示样式不太好看,就算加了样式表也时不时会失效,同时工具提示没有阴影,看起来就更难受了。所以本篇博客将会介绍自定义工具提示的方法,效果如...
    99+
    2022-11-11
  • Go语言自定义linter静态检查工具怎么实现
    今天小编给大家分享一下Go语言自定义linter静态检查工具怎么实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Go语言中...
    99+
    2023-06-30
  • 如何使用Python实现图片自定义裁剪小工具
    这篇文章主要介绍了如何使用Python实现图片自定义裁剪小工具,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。环境依赖ffmpy安装:pip install ...
    99+
    2023-06-28
  • jmeter怎么添加自定义扩展函数实现图片base64编码
    这篇“jmeter怎么添加自定义扩展函数实现图片base64编码”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“jmeter怎...
    99+
    2023-06-29
  • 轻松实现可扩展自定义的Android滚轮时间选择控件
    项目需求中有个功能模块需要用到时间选择控件,但是android系统自带的太丑了,只能自己优化下,结合WheelView实现滚轮选择日期,好像网上也挺多这种文章的。但是适用范围还...
    99+
    2022-06-06
    自定义 选择 扩展 Android
  • vue使用自定义指令实现按钮权限展示功能
    目录一、在src下新建directive文件夹二、定义index.js文件,在vue上注入自定义指令三、编写自定义指令四、使用一、在src下新建directive文件夹 二、定义i...
    99+
    2022-11-13
  • vue中elementUI table如何实现自定义表头和行合并
    这篇文章主要介绍vue中elementUI table如何实现自定义表头和行合并,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1、自定义表头代码如下,其实就是分了两部分,表格主数据是...
    99+
    2022-10-19
  • vue怎么使用自定义指令实现按钮权限展示功能
    今天小编给大家分享一下vue怎么使用自定义指令实现按钮权限展示功能的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、在src...
    99+
    2023-06-30
  • vue怎么实现用户无限添加自定义填写表单功能
    本篇内容主要讲解“vue怎么实现用户无限添加自定义填写表单功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue怎么实现用户无限添加自定义填写表单功能”吧!效果图:代码如下:<templ...
    99+
    2023-07-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作