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 相关文章推荐
Javascript 阻止javascript事件冒泡,获取控件ID值
Jun 27 Javascript
Mootools 1.2教程(21)——类(二)
Sep 15 Javascript
ExtJs 3.1 XmlTreeLoader Example Error
Feb 09 Javascript
基于jQuery实现响应式圆形图片轮播特效
Nov 25 Javascript
js删除Array数组中指定元素的两种方法
Aug 03 Javascript
微信小程序 HTTPS报错整理常见问题及解决方案
Dec 14 Javascript
jQuery分页插件jquery.pagination.js使用方法解析
Feb 09 Javascript
详解用node搭建简单的静态资源管理器
Aug 09 Javascript
js封装成插件_Canvas统计图插件编写实例
Sep 12 Javascript
微信公众号平台接口开发 菜单管理的实现
Aug 14 Javascript
vue接通后端api以及部署到服务器操作
Aug 13 Javascript
javascript前端实现多视频上传
Dec 13 Javascript
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
山进SANGEAN ATS-909X电路分析
2021/03/02 无线电
php数组中删除元素之重新索引的方法
2014/09/16 PHP
php计算数组相同值出现次数的代码(array_count_values)
2015/01/20 PHP
laravel 错误处理,接口错误返回json代码
2019/10/25 PHP
基于jquery的表格排序
2010/09/11 Javascript
js实现图片放大缩小功能后进行复杂排序的方法
2012/11/08 Javascript
javascript获取鼠标点击元素对象(示例代码)
2013/12/20 Javascript
Area 区域实现post提交数据的js写法
2014/04/22 Javascript
NodeJS学习笔记之Connect中间件模块(二)
2015/01/27 NodeJs
javascript截取字符串小结
2015/04/28 Javascript
jQuery实现响应鼠标事件的图片透明效果【附demo源码下载】
2016/06/16 Javascript
详解Angular中$cacheFactory缓存的使用
2016/08/19 Javascript
Vue.js第三天学习笔记(计算属性computed)
2016/12/01 Javascript
利用vue实现模态框组件
2016/12/19 Javascript
Node.js制作简单聊天室
2017/01/12 Javascript
vuejs开发组件分享之H5图片上传、压缩及拍照旋转的问题处理
2017/03/06 Javascript
js判断数组是否包含某个字符串变量的实例
2017/11/24 Javascript
javascript中如何判断类型汇总
2019/05/14 Javascript
浅谈vue-router路由切换 组件重用挖下的坑
2019/11/01 Javascript
[01:00:53]OG vs IG 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python制作豆瓣图片的爬虫
2017/12/28 Python
Python同步遍历多个列表的示例
2019/02/19 Python
Pandas数据离散化原理及实例解析
2019/11/16 Python
Python类继承和多态原理解析
2020/02/05 Python
澳大利亚家具和家居用品在线:BROSA
2017/11/02 全球购物
美国在线购买和出售礼品卡网站:EJ Gift Cards
2019/06/09 全球购物
图库照片、免版税图片、矢量艺术、视频片段:Depositphotos
2019/08/02 全球购物
Ray-Ban雷朋奥地利官网:全球领先的太阳眼镜品牌
2020/10/12 全球购物
便利店的创业计划书
2014/01/15 职场文书
优秀应届毕业生推荐信
2014/02/18 职场文书
法定代表人授权委托书
2014/04/04 职场文书
学校运动会广播稿
2014/10/11 职场文书
学习心理学的体会
2014/11/07 职场文书
2014年专项整治工作总结
2014/11/17 职场文书
师德师风培训感言
2015/08/03 职场文书
庭外和解协议书
2016/03/23 职场文书