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 相关文章推荐
Js日期选择器并自动加入到输入框中示例代码
Aug 02 Javascript
jQuery中ajax的load()方法用法实例
Dec 26 Javascript
avalon js实现仿google plus图片多张拖动排序附源码下载
Sep 24 Javascript
javascript 小数乘法结果错误的处理方法
Jul 28 Javascript
Ajax 加载数据 练习代码
Jan 05 Javascript
如何在Angular2中使用jQuery及其插件的方法
Feb 09 Javascript
javascript实现二叉树的代码
Jun 08 Javascript
详解Webpack + ES6 最新环境搭建与配置
Jun 04 Javascript
clipboard.js在移动端复制失败的解决方法
Jun 13 Javascript
如何实现iframe父子传参通信
Feb 05 Javascript
浅谈Vuex的this.$store.commit和在Vue项目中引用公共方法
Jul 24 Javascript
vue用elementui写form表单时,在label里添加空格操作
Aug 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
8个出色的WordPress SEO插件收集
2011/02/26 PHP
Thinkphp 在api开发中异常返回依然是html的解决方式
2019/10/16 PHP
Aliyun Linux 编译安装 php7.3 tengine2.3.2 mysql8.0 redis5的过程详解
2020/10/20 PHP
phpstorm最新激活码分享亲测phpstorm2020.2.3版可用
2020/11/22 PHP
IE6中使用position导致页面变形的解决方案(js代码)
2011/01/09 Javascript
封装好的一个万能检测表单的方法
2015/01/21 Javascript
新手快速学习JavaScript免费教程资源汇总
2015/06/25 Javascript
推荐10 个很棒的 jQuery 特效代码
2015/10/04 Javascript
基于JavaScript实现瀑布流效果(循环渐近)
2016/01/27 Javascript
JS+Canvas绘制时钟效果
2020/08/20 Javascript
Node.js如何自动审核团队的代码
2016/07/20 Javascript
jquery表格datatables实例解析 直接加载和延迟加载
2016/08/12 Javascript
js实现图片淡入淡出切换简易效果
2016/08/22 Javascript
JavaScript设计模式之工厂模式简单实例教程
2018/07/03 Javascript
react在安卓中输入框被手机键盘遮挡问题的解决方法
2018/09/03 Javascript
Vue 报错TypeError: this.$set is not a function 的解决方法
2018/12/17 Javascript
JS中async/await实现异步调用的方法
2019/08/28 Javascript
JavaScript事件概念详解(区分静态注册和动态注册)
2021/02/05 Javascript
github配置使用指南
2014/11/18 Python
Python抓取百度查询结果的方法
2015/07/08 Python
Python+matplotlib绘制不同大小和颜色散点图实例
2018/01/19 Python
python多进程下实现日志记录按时间分割
2019/07/22 Python
python实现大战外星人小游戏实例代码
2019/12/26 Python
Python读取表格类型文件代码实例
2020/02/17 Python
俄罗斯的精英皮具:Wittchen
2018/01/29 全球购物
HOTEL INFO英国:搜索全球酒店
2019/08/08 全球购物
如何定义一个可复用的服务
2014/09/30 面试题
本科生个人求职自荐信
2013/09/26 职场文书
生产车间标语
2014/06/11 职场文书
中层干部考核评语
2015/01/04 职场文书
公司更名通知函
2015/04/24 职场文书
幼儿园大班教育随笔
2015/08/14 职场文书
开发一个封装iframe的vue组件
2021/03/29 Vue.js
Python实战之用tkinter库做一个鼠标模拟点击器
2021/04/27 Python
iOS 16进一步确认,一共支持16款iPhone
2022/04/28 数码科技
MySQL中order by的执行过程
2022/06/05 MySQL