首页 > 网络编程 > JavaScript > 正文

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

2018-11-10 10:00:39

使用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!!!

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

您可能感兴趣的文章:

  • element-ui 中的table的列隐藏问题解决
  • 基于Vue+element-ui 的Table二次封装的实现
  • Element-UI Table组件上添加列拖拽效果实现方法
  • 详解VUE 对element-ui中的ElTableColumn扩展
  • vue element-ui table表格滚动加载方法
  • vue2.0 + element UI 中 el-table 数据导出Excel的方法
  • Element-ui table中过滤条件变更表格内容的方法
  • Vue2.5 结合 Element UI 之 Table 和 Pagination 组件实现分页功能
  • VUE element-ui 写个复用Table组件的示例代码
  • 详解vue2.0的Element UI的表格table列时间戳格式化
  • 相关标签:JavaScript
  • 本文发布HTML5中文学习网 ,转载请注明出处,感谢您!
  • 相关文章


  • 曝网友假装外国人写投诉信 ofo秒退押金并回函致歉
  • 苹果市值缩水逾2000亿美元 遭多家投行下调目标价
  • Asp.net Core与类库读取配置文件信息的方法_实用技巧
  • asp.net在Repeater嵌套的Repeater中使用复选框详解_实用技巧
  • 利用IIS调试ASP.NET网站程序的完整步骤_实用技巧
  • Asp.Net Core轻松学习系列之配置文件_实用技巧
  • ASP.NET 页生命周期概述(小结)_实用技巧
  • 详解ASP.NET Core WebApi 返回统一格式参数_实用技巧
  • 2018年网络流行语有哪些?2018年十大网络流行语盘点
  • 华为首席财务官孟晚舟被暂扣 深圳市政府要求加方立即放人!
  • 独孤九贱(4)_PHP视频教程

    江湖传言:PHP是世界上最好的编程语言。真的是这样吗?这个梗究竟是从哪来的?学会本课程,你就会明白了。 PHP中文网出品的PHP入门系统教学视频,完全从初学者的角度出发,绝不玩虚的,一切以实用、有用...

    独孤九贱(5)_ThinkPHP5视频教程

    ThinkPHP是国内最流行的中文PHP开发框架,也是您Web项目的最佳选择。《php.cn独孤九贱(5)-ThinkPHP5视频教程》课程以ThinkPHP5最新版本为例,从最基本的框架常识开始,将...

    独孤九贱(1)_HTML5视频教程

    《php.cn原创html5视频教程》课程特色:php中文网原创幽默段子系列课程,以恶搞,段子为主题风格的php视频教程!轻松的教学风格,简短的教学模式,让同学们在不知不觉中,学会了HTML知识。 ...

    ThinkPHP5实战之[教学管理系统]

    本套教程,以一个真实的学校教学管理系统为案例,手把手教会您如何在一张白纸上,从零开始,一步一步的用ThinkPHP5框架快速开发出一个商业项目。

    PHP入门视频教程之一周学会PHP

    所有计算机语言的学习都要从基础开始,《PHP入门视频教程之一周学会PHP》不仅是PHP的基础部分更主要的是PHP语言的核心技术,是学习PHP必须掌握的内容,任何PHP项目的实现都离不开这部分的内容,通...

    作者信息

    kevin

    永远在学习的路上!

    相关教程

  • javascript初级视频教程 javascript初级视频教程
  • jquery 基础视频教程 jquery 基础视频教程
  • javascript三级联动视频教程 javascript三级联动视频教程
  • 独孤九贱(3)_JavaScript视频教程 独孤九贱(3)_JavaScript视频教程
  • 独孤九贱(6)_jQuery视频教程 独孤九贱(6)_jQuery视频教程
  • 热门教程