详解使用element-ui table组件的筛选功能的一个小坑


Posted in Javascript onNovember 02, 2018

使用element-ui table组件的筛选功能的一个小坑

使用自定义模板和筛选功能,一开始的代码

<el-table-column v-if="key==='isShow'" label="是否在发现页展示" :filters="[{text:'已展示',value: true},{text: '未展示', value: false}]" :filter-method="filterShow">
        <template slot-scope="scope">
          <el-tag type="success" v-if="scope.row.isShow">显示</el-tag>
          <el-tag type="danger" v-else>不显示</el-tag>
        </template>
      </el-table-column>
      <el-table-column v-else-if="key==='isHandle'" label="是否已经审核" :filters="[{text:'已处理',value: true},{text: '未处理', value: false}]" :filter-method="filterHandle">
        <template slot-scope="scope">
          <el-tag type="info" v-if="scope.row.isHandle">已处理</el-tag>
          <el-tag type="warning" v-else>未处理</el-tag>
        </template>
      </el-table-column>

然后发现筛选功能怎么都不能实现,上网查找原因才发现,虽然官网在写自定义模板的示例代码时是这样的:

<template>
 <el-table
  :data="tableData"
  style="width: 100%">
  <el-table-column
   label="日期"
   width="180">
   <template slot-scope="scope">
    <i class="el-icon-time"></i>
    <span style="margin-left: 10px">{{ scope.row.date }}</span>
   </template>
  </el-table-column>
  <el-table-column
   label="姓名"
   width="180">
   <template slot-scope="scope">
    <el-popover trigger="hover" placement="top">
     <p>姓名: {{ scope.row.name }}</p>
     <p>住址: {{ scope.row.address }}</p>
     <div slot="reference" class="name-wrapper">
      <el-tag size="medium">{{ scope.row.name }}</el-tag>
     </div>
    </el-popover>
   </template>
  </el-table-column>
  <el-table-column label="操作">
   <template slot-scope="scope">
    <el-button
     size="mini"
     @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
    <el-button
     size="mini"
     type="danger"
     @click="handleDelete(scope.$index, scope.row)">删除</el-button>
   </template>
  </el-table-column>
 </el-table>
</template>

<script>
 export default {
  data() {
   return {
    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: {
   handleEdit(index, row) {
    console.log(index, row);
   },
   handleDelete(index, row) {
    console.log(index, row);
   }
  }
 }
</script>

就是使用scope代替了prop,就是没有加上prop。

这就是坑所在地方,element的内部使用筛选功能时应该是使用到了prop,所以加上prop之后筛选功能就可以用了:

<el-table-column v-if="key==='isShow'" label="是否在发现页展示" prop="isShow" :filters="[{text:'已展示',value: true},{text: '未展示', value: false}]" :filter-method="filterShow">
        <template slot-scope="scope">
          <el-tag type="success" v-if="scope.row.isShow">显示</el-tag>
          <el-tag type="danger" v-else>不显示</el-tag>
        </template>
      </el-table-column>
      <el-table-column v-else-if="key==='isHandle'" label="是否已经审核" prop="isHandle" :filters="[{text:'已处理',value: true},{text: '未处理', value: false}]" :filter-method="filterHandle">
        <template slot-scope="scope">
          <el-tag type="info" v-if="scope.row.isHandle">已处理</el-tag>
          <el-tag type="warning" v-else>未处理</el-tag>
        </template>
      </el-table-column>

使用elementUi 的table组件的筛选功能记得加prop!!!

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

Javascript 相关文章推荐
jquery cookie插件代码类
May 26 Javascript
原生JavaScript实现连连看游戏(附源码)
Nov 05 Javascript
node.js中的http.response.setHeader方法使用说明
Dec 14 Javascript
javascript实现window.print()去除页眉页脚
Dec 30 Javascript
基于HTML+CSS+JS实现增加删除修改tab导航特效代码
Aug 05 Javascript
jQuery上传多张图片带进度条样式(DEMO)
Mar 02 Javascript
AngularJS实现的根据数量与单价计算总价功能示例
Dec 26 Javascript
JS控制鼠标拒绝点击某一按钮的实例
Dec 29 Javascript
微信小程序实现倒计时调用相机自动拍照功能
Jun 10 Javascript
微信小程序自定义组件实现tabs选项卡功能
Jul 14 Javascript
简单了解JavaScript中常见的反模式
Jun 21 Javascript
vue实现权限控制路由(vue-router 动态添加路由)
Nov 04 Javascript
如何使用vuex实现兄弟组件通信
Nov 02 #Javascript
JavaScript 复制对象与Object.assign方法无法实现深复制
Nov 02 #Javascript
vue头部导航动态点击处理方法
Nov 02 #Javascript
angular6 利用 ngContentOutlet 实现组件位置交换(重排)
Nov 02 #Javascript
vue单页面实现当前页面刷新或跳转时提示保存
Nov 02 #Javascript
BootStrap中的模态框(modal,弹出层)功能示例代码
Nov 02 #Javascript
Bootstrap的aria-label和aria-labelledby属性实例详解
Nov 02 #Javascript
You might like
超强分页类2.0发布,支持自定义风格,默认4种显示模式
2007/01/02 PHP
一步一步学习PHP(2)――PHP类型
2010/02/15 PHP
php实现自动获取生成文章主题关键词功能的深入分析
2013/06/03 PHP
如何使用php判断服务器是否是HTTPS连接
2013/07/05 PHP
PHP URL参数获取方式的四种例子
2014/02/28 PHP
Apache启动报错No space left on device: AH00023该怎么解决
2015/10/16 PHP
jQuery 版元素拖拽原型代码
2011/04/25 Javascript
40款非常有用的 jQuery 插件推荐(系列一)
2011/12/21 Javascript
js用正则表达式来验证表单(比较齐全的资源)
2013/11/17 Javascript
js数组方法扩展实现数组统计函数
2014/04/09 Javascript
jquery仿搜索自动联想功能代码
2014/05/23 Javascript
jQuery常用且重要方法汇总
2015/07/13 Javascript
只要1K 纯JS脚本送你一朵3D红色玫瑰
2016/08/09 Javascript
javascript的函数劫持浅析
2016/09/26 Javascript
微信小程序 wx.uploadFile在安卓手机上面the same task is working问题解决
2016/12/14 Javascript
jQuery插件FusionCharts绘制的2D双面积图效果示例【附demo源码】
2017/04/11 jQuery
JS实现判断有效的数独算法示例
2019/02/25 Javascript
微信小程序 image组件遇到的问题
2019/05/28 Javascript
小程序实现层叠卡片滑动效果
2019/08/26 Javascript
js代码实现轮播图
2020/05/04 Javascript
python 获取文件列表(或是目录例表)
2009/03/25 Python
win与linux系统中python requests 安装
2016/12/04 Python
Python随机函数库random的使用方法详解
2019/08/21 Python
浅谈Pycharm最有必要改的几个默认设置项
2020/02/14 Python
keras load model时出现Missing Layer错误的解决方式
2020/06/11 Python
Python爬取12306车次信息代码详解
2020/08/12 Python
迪卡侬英国官网:Decathlon英国
2017/04/08 全球购物
NFL加拿大官方网上商店:NHLShop.ca
2019/03/12 全球购物
副护士长竞聘演讲稿
2014/04/30 职场文书
乡镇干部党的群众路线教育实践活动个人对照检查材料
2014/09/24 职场文书
2014年党的群众路线教育实践活动整改措施(个人版)
2014/09/25 职场文书
施工现场安全管理制度
2015/08/05 职场文书
护士岗位竞聘书
2015/09/15 职场文书
python 模块重载的五种方法
2021/04/24 Python
【海涛dota解说】海涛小满开黑4v5被破两路翻盘潮汐第一视角解说
2022/04/01 DOTA
Centos7 Shell编程之正则表达式、文本处理工具详解
2022/08/05 Servers