element-ui组件table实现自定义筛选功能的示例代码


Posted in Javascript onMarch 15, 2019

element-ui默认的table组件支持的表头筛选(过滤)是比较简单的,只支持数组的方式,单选或多选的形式,但有时候我们喜欢支持输入框形式(其实感觉有点扯淡,一般列表页上面都有搜索条件)。

注意:里面用到的jsx语法,可能需要安装一些插件。

准备工作:

1.安装babel-plugin-jsx-v-model插件

npm i babel-plugin-jsx-v-model -D

或者

yarn add babel-plugin-jsx-v-model -D

2..babelrc:

{
 "presets": ["es2015"],
 "plugins": ["jsx-v-model", "transform-vue-jsx"]
}

3.重启本地环境

实现效果如下:

element-ui组件table实现自定义筛选功能的示例代码

代码如下:

<template>
  <div>
    <el-table :data="tableData">
      <el-table-column label="这是文字" :render-header="renderHeader" prop="name"></el-table-column>
      <el-table-column label="地址" prop="address"></el-table-column>
    </el-table>
  </div>
</template>

<script>
export default {
  data() {
    return {
      search: '',
      visible: false,
      tableData: [{
        date: '2016-05-02',
        name: '王小虎',
        address: '上海市普陀区金沙江路 1518 弄'
      }, {
        date: '2016-05-04',
        name: '王小虎',
        address: '上海市普陀区金沙江路 1517 弄'
      }, {
        date: '2016-05-01',
        name: '王小虎',
        address: '上海市普陀区金沙江路 1519 弄'
      }, {
        date: '2016-05-03',
        name: '王小虎',
        address: '上海市普陀区金沙江路 1516 弄'
      }]
    }
  },
  methods: {
    renderHeader(h, {column, $index}, index) {
      return (
        <span>
          问题分类
          <el-popover placement='bottom' width='200' height='200' trigger="click" v-model={this.visible}>
            <span slot="reference">
              <i class="el-icon-search" style={this.search ? {'color' : 'red'} : {'color': 'blue'}}></i>
            </span>
            <el-input size='small' v-model={this.search} placeholder='请输入内容'></el-input>
            <div class='el-table-filter__bottom'>
              <button class={this.search ? '' : 'is-disabled'}>筛选</button>
              <button on-click={this.clearSearch}>重置</button>
            </div>
          </el-popover>
        </span>
      );
    },
    clearSearch() {
      this.search = '';
    }
  }
}
</script>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
用正则xmlHttp实现的偷(转)
Jan 22 Javascript
面向对象的javascript(笔记)
Oct 06 Javascript
JS+JSP checkBox 全选具体实现
Jan 02 Javascript
jquery鼠标放上去显示悬浮层即弹出定位的div层
Apr 25 Javascript
jQuery焦点图切换特效代码分享
Sep 15 Javascript
详解vue-meta如何让你更优雅的管理头部标签
Jan 18 Javascript
JavaScript数组,JSON对象实现动态添加、修改、删除功能示例
May 26 Javascript
Vue+ElementUI项目使用webpack输出MPA的方法
Aug 27 Javascript
layui的布局和表格的渲染以及动态生成表格的方法
Sep 18 Javascript
Layer+Echarts构建弹出层折线图的方法
Sep 25 Javascript
VUE实现强制渲染,强制更新
Oct 29 Javascript
Vue Elenent实现表格相同数据列合并
Nov 30 Vue.js
vue过滤器用法实例分析
Mar 15 #Javascript
vue v-for循环重复数据无法添加问题解决方法【加track-by='索引'】
Mar 15 #Javascript
详解vue移动端项目代码拆分记录
Mar 15 #Javascript
小程序自定义单页面、全局导航栏的实现代码
Mar 15 #Javascript
使用webpack搭建vue项目实现脚手架功能
Mar 15 #Javascript
vue使用el-upload上传文件及Feign服务间传递文件的方法
Mar 15 #Javascript
详解用vue2.x版本+adminLTE开源框架搭建后台应用模版
Mar 15 #Javascript
You might like
PHP实现数字补零功能的2个函数介绍
2014/05/12 PHP
PHP+FastCGI+Nginx配置PHP运行环境
2014/08/07 PHP
php去除二维数组的重复项方法
2015/11/03 PHP
ZendFramework2连接数据库操作实例
2017/04/18 PHP
Laravel+Intervention实现上传图片功能示例
2019/07/09 PHP
判断JavaScript对象是否可用的最正确方法分析
2008/10/03 Javascript
js中使用DOM复制(克隆)指定节点名数据到新的XML文件中的代码
2011/07/27 Javascript
js Function类型
2011/12/04 Javascript
鼠标焦点离开文本框时验证的js代码
2013/07/19 Javascript
JavaScript使用setTimeout实现延迟弹出警告框的方法
2015/04/07 Javascript
js验证上传图片的方法
2015/05/12 Javascript
JS实现三级折叠菜单特效,其它级可自动收缩
2015/08/06 Javascript
对jquery的ajax进行二次封装以及ajax缓存代理组件:AjaxCache详解
2016/04/11 Javascript
前端分页功能的实现以及原理(jQuery)
2017/01/22 Javascript
详解vue-router基本使用
2017/04/18 Javascript
nodejs使用http模块发送get与post请求的方法示例
2018/01/08 NodeJs
解决angularjs中同步执行http请求的方法
2018/08/13 Javascript
vue配置接口域名方法总结
2019/05/12 Javascript
JS判断数组里是否有重复元素的方法小结
2019/05/21 Javascript
详解为什么Vue中不要用index作为key(diff算法)
2020/04/04 Javascript
js 函数性能比较方法
2020/08/24 Javascript
Vue中使用JsonView来展示Json树的实例代码
2020/11/16 Javascript
python使用装饰器和线程限制函数执行时间的方法
2015/04/18 Python
python中字符串的操作方法大全
2018/06/03 Python
浅谈Python批处理文件夹中的txt文件
2019/03/11 Python
Django项目中实现使用qq第三方登录功能
2019/08/13 Python
基于python的itchat库实现微信聊天机器人(推荐)
2019/10/29 Python
django框架两个使用模板实例
2019/12/11 Python
Python Tkinter Entry和Text的添加与使用详解
2020/03/04 Python
python torch.utils.data.DataLoader使用方法
2020/04/02 Python
HTML5 语音搜索(淘宝店语音搜素)
2013/01/03 HTML / CSS
HTML5各种头部meta标签的功能(推荐)
2017/03/13 HTML / CSS
英国在线发型和美容产品商店:Beauty Cutie
2019/04/27 全球购物
2014自主招生自荐信策略
2014/01/27 职场文书
2014年银行员工工作总结
2014/11/12 职场文书
老舍《猫》教学反思
2016/02/17 职场文书