使用 Element UI Table 的 slot-scope方法
在 Element UI Table 的官网上,有一个“筛选”功能,里面可以利用 slot-scope,给表格记录打标签。
关键代码为:
<template slot-scope="scope"> <el-tag :type="scope.row.tag === '家' ? 'primary' : 'success'" disable-transitions>{{scope.row.tag}}</el-tag> </template>
- 这里首先利用 slot-scope 属性(Vue 2.6.0 已废弃)将子组件的数据(row.tag)传递给了父组件。
- 利用三元表达式为 <el-tag> 标签设定样式。
实践过程中,发现这个三元表达式没法应用。因为实际业务场景,记录类型肯定不止两个啊!
这时,就该条件渲染指令出场了:
<el-tag v-if="scope.row.state === '已完成'" :type="'success'" disable-transitions>{{scope.row.state}} </el-tag> <el-tag v-else-if="scope.row.state === '未开始'" :type="'danger'" disable-transitions>{{scope.row.state}} </el-tag> <el-tag v-else-if="scope.row.state === '进行中'" :type="'warning'" disable-transitions>{{scope.row.state}} </el-tag>
运行结果:
官网只是基本用法,真正实践还是要靠积累与总结哦O(∩_∩)O哈哈~
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
Element-UI Table组件上添加列拖拽效果实现方法
Element-UI 的 Table组件很强大,但是我们的需求更强大... 简单粗暴的来一发效果图: 一.数据驱动 传统的拖动效果,都是基于通过 mousedown.mousemove.mouseup 事件来修改删减 dom 节点 但 Vue 是一个数据驱动的前端框架,开发时应尽量避免操作 dom 而且 Element-UI 的 Table 组件封装得很严谨,直接操作 dom 很容易产生不可预计的 bug 所以我的核心思路就是:通过一个数组渲染表头(列),然后修改这个数组的顺序,从而修改列表的列
-
VUE element-ui 写个复用Table组件的示例代码
饿了么的table组件功能很强大,对于项目中的各种表格基本够用,但是--个人对于它以列为单位的操作不习惯 =.=所以改成了另一种方式(我不会告诉你其实本质没变). 项目中表格较多,所以复用性最重要 步骤一 先来个基本的表格展示 官例的tableData tableData: [{ date: '2016-05-02', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄' }, { date: '2016-05-04', name: '王小虎', address:
-
element ui table(表格)实现点击一行展开功能
前言 element ui是一个非常不错的vue的UI框架,element对table进行了封装,简化了vue对表格的渲染. element ui表格中有一个功能是展开行,在2.0版本官网例子中,只可以点击右箭头可以展开,我们的很多需求是点击某一行展开 那是不是无法实现呢?其实,借助element ui的一些属性,轻松实现点击某行展开,我们还是用2.0.9版本官网的例子, 对齐改造,使之可以做到这点 <template> <el-table :data="tableData5&
-
vue elementUI table表格数据 滚动懒加载的实现方法
在项目中遇到了一个性能问题 vue+elementUI table表格展示数据,当数据很多的时候,不能一页显示完,同时一次请求数据量太大,会增加网页渲染的时间,影响体验, 这个时候常常有两种方法处理, 1.分页,如下 2.如果我不想分页,又想在一页显示全部数据呢?这个时候其实就可以用数据懒加载了 如下一开始表格只显示31行数据 当将滚动条拉到低的时候,就会再加载31条数据,如果剩下的数据不足31,那就加载剩下的 根据项目需求,这需要一页可以看到全部数据,所以我选择了第二中方式 那么第二种方式要怎
-
VUE2.0 ElementUI2.0表格el-table自适应高度的实现方法
在开发中,需要表格控件根据浏览器高度进行调整,固定表头,且然后多余的出滚动条,官方给出的: 只要在el-table元素中定义了height属性,即可实现固定表头的表格,而不需要额外的代码. 然后直接上template代码: <template> <el-table :data="tableData3" height="250" border style="width: 100%"> <el-table-column
-
element-ui 中的table的列隐藏问题解决
element-ui 中的table和bootstrap中的table的某些设置还是有一定的差别的.之前用bootstrap做的表格,想要实现简短列和详细列的切换.因为详细列实在有太多列了,拉动滚动条还有一段距离.所以希望能够切换到简短列可以方便的看见比较重要的几列的内容.用之前的方法<bootstrap>的话,非常简单,直接设置display的显示和隐藏就可以了. 但是放在element-ui中来就不可行了.每一列根本不能直接设置样式,你给每一列设置class-name从而设置样式的话,可能
-
Element-ui table中过滤条件变更表格内容的方法
组件中: <el-table :data="users" highlight-current-row v-loading="listLoading" style="width: 100%;"> <el-table-column prop="sex" label="性别" width="100" :formatter="formatSex" sorta
-
详解使用element-ui table组件的筛选功能的一个小坑
使用element-ui table组件的筛选功能的一个小坑 使用自定义模板和筛选功能,一开始的代码 <el-table-column v-if="key==='isShow'" label="是否在发现页展示" :filters="[{text:'已展示',value: true},{text: '未展示', value: false}]" :filter-method="filterShow"> <tem
-
优雅的elementUI table单元格可编辑实现方法详解
最近在做可编辑特定列的单元格的elementUI table,看了N多的开源.文章,找到一个很优雅的实现方式,分享给大家. PS:单元格可编辑的table,用英文搜索:Inline editable table with ElementUI 会得到高质量结果. 先上效果: APP.vue: <template> <div id="app"> <div style="margin-bottom: 30px"> <el-swit
-
vue element-ui table表格滚动加载方法
添加全局注册事件,用来监听滚动事件 window.Vue.directive('loadmore', { bind(el, binding) { const selectWrap = el.querySelector('.el-table__body-wrapper') selectWrap.addEventListener('scroll', function() { let sign = 100 const scrollDistance = this.scrollHeight - this.
随机推荐
- JavaScript reduce和reduceRight详解
- C/C++程序编译流程详解
- jQuery插件支持同一页面被多次调用
- 2003+XP平台下的ADSL共享
- iis resin使iis支持jsp
- 写了一个layout,拖动条连贯,内容区可为iframe
- 基于jdbc处理Clob的使用介绍
- 详解IOS11新特性之larget title的实现
- 详解android 中animation-list 动画的应用
- 服务器断电导致虚拟机数据丢失的恢复方法详解
- Spring Boot + Kotlin整合MyBatis的方法教程
- Spring Data JPA例子代码[基于Spring Boot、Mysql]
- 图书管理系统java代码实现
- 利用pyinstaller打包exe文件的基本教程
- Django 用户认证组件使用详解
- Python自定义一个类实现字典dict功能的方法
- 解决Django layui {{}}冲突的问题
- iOS关于多张图片上传、地址返回顺序问题及解决方案
- vue 获取及修改store.js里的公共变量实例
- 微信小程序批量监听输入框对按钮样式进行控制的实现代码