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 DOM元素尺寸和位置
Apr 13 Javascript
JavaScript中的some()方法使用详解
Jun 09 Javascript
举例详解JavaScript中Promise的使用
Jun 24 Javascript
javascript实现随机显示星星特效
Jan 28 Javascript
jQuery.Uploadify插件实现带进度条的批量上传功能
Jun 08 Javascript
AngularJS ng-template寄宿方式用法分析
Nov 07 Javascript
js实现文字无缝向上滚动
Feb 16 Javascript
关于ES6的六个小特性(二)
Feb 20 Javascript
解决vue2中使用axios http请求出现的问题
Mar 05 Javascript
Node.js Windows Binary二进制文件安装方法
May 16 Javascript
js中offset,client , scroll 三大元素知识点总结
Sep 11 Javascript
javascript History对象原理解析
Feb 17 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
使用php+apc实现上传进度条且在IE7下不显示的问题解决方法
2013/04/25 PHP
配置php.ini实现PHP文件上传功能
2014/11/27 PHP
cakephp打印sql语句的方法
2015/02/13 PHP
php计算给定日期所在周的开始日期和结束日期示例
2017/02/06 PHP
PHP中检查isset()和!empty()函数的必要性
2019/02/13 PHP
ThinkPHP3.2.3框架邮件发送功能图文实例详解
2019/04/23 PHP
laravel model 两表联查示例
2019/10/24 PHP
js+xml生成级联下拉框代码
2012/07/24 Javascript
Jquery Validate 正则表达式实用验证代码大全
2013/08/23 Javascript
jquery得到font-size属性值实现代码
2013/09/30 Javascript
怎么判断js脚本加载完成
2014/02/28 Javascript
javascript学习笔记--数字格式类型
2014/05/22 Javascript
JS中数组重排序方法
2016/11/11 Javascript
JavaScript实现星级评分
2017/01/12 Javascript
JS二叉树的简单实现方法示例
2017/04/05 Javascript
angular第三方包开发整理(小结)
2018/04/19 Javascript
详解Nodejs内存治理
2018/05/13 NodeJs
在layui中使用form表单监听ajax异步验证注册的实例
2019/09/03 Javascript
[01:31](回顾)杀出重围,决战TI之巅
2014/07/01 DOTA
python 基础教程之Map使用方法
2017/01/17 Python
python使用opencv读取图片的实例
2017/08/17 Python
python编写朴素贝叶斯用于文本分类
2017/12/21 Python
python实现微信跳一跳辅助工具步骤详解
2018/01/04 Python
Django CSRF跨站请求伪造防护过程解析
2019/07/31 Python
Python高级特性——详解多维数组切片(Slice)
2019/11/26 Python
python 元组的使用方法
2020/06/09 Python
幼儿老师求职信
2014/06/30 职场文书
525心理活动总结
2014/07/04 职场文书
社团活动总结格式
2014/08/29 职场文书
学生检讨书怎么写?
2014/10/10 职场文书
沈阳故宫导游词
2015/01/31 职场文书
小学运动会通讯稿
2015/07/18 职场文书
Django给表单添加honeypot验证增加安全性
2021/05/06 Python
手把手教你用SpringBoot将文件打包成zip存放或导出
2021/06/11 Java/Android
Vue Element-ui表单校验规则实现
2021/07/09 Vue.js
python机器学习Github已达8.9Kstars模型解释器LIME
2021/11/23 Python