详解element ui 添加自定义方法

 更新时间:2024年02月21日 11:14:08   作者:mole  
今天在修改 el-table 源码过程中遇到一个头大的问题,原本修改编译后,将 element的子目录lib下的文件复制到项目的响应目录里就可以了,但是这次总出问题,下面小编给大家分享element ui 添加自定义方法,感兴趣的朋友一起看看吧

element ui 添加自定义方法

今天在修改 el-table 源码过程中遇到一个头大的问题,原本修改编译后,将 element的子目录lib下的文件复制到项目的响应目录里就可以了,但是,这次不知为何,编译老是出问题,实在没有办法,我就直接修改项目中 node_modules 目录下的 lib 的文件。
为了找到正确的修改点,在代码中加入了以下代码,方便进入跟踪模式,知道进入 el-table 的代码的入口:

    debugger
    this.$refs.table.doLayout()

运行时,在单步执行 doLayout 方法后,就能知道 doLayout 的代码入口文件和位置,这样就可以在相同位置,插入自己的代码。
我需要实现的效果是通过代码来实现表格过滤的效果,即模拟点击列头选择某个过滤值实现表格过滤的效果。通过上述代码跟踪,了解到需要在element-ui.common.js文件中插入代码,具体代码如下:

    execFilter: function execFilter(column, filteredValue) {
      this.store.commit('filterChange', {
        column: column,
        values: filteredValue
      });
      this.store.updateAllSelected();
    },

上述代码中,为何通过 filterChange 来实现过滤,是通过关键字搜索 + 阅读代码分析得到。
在这之前,通过对 el-table 原本的过滤实现的代码进行跟踪,将 filterChange 方法的 column 和 fliteredValue 参数值进行截图保存,发现 column 不是 el-table-column,而是一个 javascript 对象,故通过对 el-table-column 对象的属性进行排查,发现 columnConfig 属性的值就是该方法所需数据,而 filteredValue 的值是一个包含过滤值的数组,为此,构建了如下调用代码:

    var column = this.$refs.companyColumn;
    var filteredValue = [this.$refs[this.refName][0].companyBriefName]
    this.$refs.table.execFilter(column.columnConfig, filteredValue)

经过测试,非常完美的解决了问题。

补充:

elementUI 事件添加自定义参数,以及子组件emit传参 父组件增加自定义参数

一、elementUI 事件添加自定义参数

@visible-change="val => dropDownOpen(val, 自定义参数) ,val为事件默认返回的参数

<el-dropdown size="small" trigger="hover" @visible-change="val => dropDownOpen(val, index)">

二、子组件emit传参 父组件增加自定义参数

情况:父组件循环子组件时,除子组件传出来的参数,还想要拿到循环的index

父组件:
<div v-for='(item,index) in list' :ket='index'>
<child @testFun='testFun'><child>
</div>
子组件:
<div @clicl='chilfFun'>测试数据<div>
js:
chilfFun(){
this,$emit('testFun','canshu')
}

解决:<child @testFun=‘e=》testFun(自定义的参数)’>

<div v-for='(item,index) in list' :ket='index'>
<child @testFun='e=》testFun(index)'><child>
</div>

到此这篇关于element ui 添加自定义方法的文章就介绍到这了,更多相关element ui 添加自定义内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 浅谈 Vue v-model指令的实现原理

    浅谈 Vue v-model指令的实现原理

    vue的v-model是一个十分强大的指令,它可以自动让原生表单组件的值自动和你选择的值绑定,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • Vue实现下拉滚动加载数据的示例

    Vue实现下拉滚动加载数据的示例

    这篇文章主要介绍了Vue实现下拉滚动加载数据的示例,帮助大家更好的理解和学习使用vue框架,感兴趣的朋友可以了解下
    2021-04-04
  • 在vue路由上添加公共的路由前缀方式

    在vue路由上添加公共的路由前缀方式

    这篇文章主要介绍了在vue路由上添加公共的路由前缀方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • vuejs2.0实现一个简单的分页示例

    vuejs2.0实现一个简单的分页示例

    本篇文章主要介绍了vuejs2.0实现一个简单的分页示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • Vue如何引用public中的js文件

    Vue如何引用public中的js文件

    这篇文章主要介绍了Vue如何引用public中的js文件,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • npm安装vue@cli报错的简单处理方式

    npm安装vue@cli报错的简单处理方式

    最近工作中遇到了报错,现在将解决的办法分享给大家,下面这篇文章主要给大家介绍了关于npm安装vue@cli报错的简单处理方式,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2022-12-12
  • 基于elementUI竖向表格、和并列的案例

    基于elementUI竖向表格、和并列的案例

    这篇文章主要介绍了基于elementUI竖向表格、和并列的案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-10-10
  • Vue封装--如何将数字转换成万

    Vue封装--如何将数字转换成万

    这篇文章主要介绍了Vue封装--将数字转换成万的实现方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • elementui中树形表格切换展开不同层级的示例代码

    elementui中树形表格切换展开不同层级的示例代码

    这篇文章主要介绍了elementui中树形表格切换展开不同层级,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-08-08
  • vue-router安装和使用详解

    vue-router安装和使用详解

    vue-router是Vue.js官方的路由插件,它和vue.js是深度集成的,适合用于构建单页面应用,分步骤介绍了安装和使用vue-router的方法,感兴趣的朋友跟随小编一起看看吧
    2023-08-08

最新评论