前言

实际上我需要的功能类似于前端工程中的字典。由于在前端的学习自己写代码的过程中可能不会对一个项目工程化的如此的彻底,所以这里给出了一种解决方法。

需求

对于Element UI里的表格,如果假设传入data的数据为数字(事实上其他的字母之类的也可)代表为表格的一些固定选项,而不是直接传入字符串,怎样实现替换。比如对于某个表格的选项,传入的数据用0表示否,1表示是这样的固定选项,而在el-table-column常用的方式是用prop规定数据属性传入数据,那么在表格里只能显示出来0或1的数字,达不到我们的需求。

解决方式

  1. 首先对于需求我们想到的方式是用v-if来设定判定条件,在el-table-column里写两个span来解决问题,一个直接数据显示为是,另一个为否,然后通过需要传入的数据来直接v-if判定切换。
  2. 很明显该方法对于变化量较小的数据可以使用,甚至可对付几种数据对应结果的方式。但是即使在不考虑vue中v-if反复的重新渲染占用资源的情况下,所有情况全部复制修改一遍也着实显得异常麻烦。那么这里我们可以尝试这种方式:
 <el-table-columnlabel="选择是否"align="center"><template scope="scope"><span>{{[ "是", "否" ][scope.row.is]}} </span></template>
</el-table-column>

这里实际上是利用了js原生语言里的对于**[]**这一运算符的使用。它作为数组相关的运算符,还具有取数组值的方法。那么对于这句

<span>{{[ "是", "否" ][scope.row.is]}} </span>

实际上就是对前面定义的数组通过后面的中括号[]运算符运算符取值,你传入的scope.row.is就是要取的下标值,那么对于0对应否,1对应是的需求就解决了,对于多种对应的需求也是同理。事实上这种方法还可以推广至传入数据下标不是从0开始的对应方式。

  1. 对于第二种方式,如果我传入的是类似于长串的数据(比如202101,202102)或者选择的字符(‘A’,‘B’,‘C’),又该如何拓展呢。可以尝试这个写法:
 <el-table-columnlabel="学期"sortablealign="center"><template scope="scope"><span>{{({20211:"2021年春季学期1",20212:"2021年春季学期2",20213:"2021年秋季学期1",20214:"2021年秋季学期2",}[scope.row.term])}}</span></template></el-table-column>

对于字符也是同理:

<span>{{({'A':"2021年春季学期1",'B':"2021年春季学期2",'C':"2021年秋季学期1",'D':"2021年秋季学期2",}[scope.row.term])}}</span>

原理同上,实际上也是取数组里的值。

前端笔记-在Element UI中表格如何根据数据动态变化显示相关推荐

  1. Web前端笔记-修改element ui中表格样式(透明、去横纵线等含修改思路)

    官方效果是这样的: 此处改成了这样的效果: 此处是可以进行滑动的,就是去除了滑动条,仍能滑动的效果. 下面说下修改样式,找到使用el-table的vue组建: 在style中贴上: <style ...

  2. 在Element UI中表格根据数据动态变化显示表格的内容

    需求 对于Element UI里的表格,如果假设传入data的数据为数字(事实上其他的字母之类的也可)代表为表格的一些固定选项,而不是直接传入字符串,怎样实现替换.比如对于某个表格的选项,传入的数据用 ...

  3. Element ui 中的tree 在数据前面添加自定义图标

    可以使用 el-tree 标签实现 在节点区添加按钮或图标等内容 也可以通过class来自定义图标 <template><div class="my-tree-main&q ...

  4. Web前端笔记-element ui中table中某列添加a便签进行跳转

    效果是这样的: 这里的文章标题和查看都可以进行跳转. 其中对应的代码如下: <template style="height: 100%"><el-table:da ...

  5. 【前端】Vue+Element UI案例:通用后台管理系统-用户管理:Table表格增删查改、Pagination分页、搜索框

    文章目录 目标 代码 0.结构 1.按钮-删除 2.按钮-编辑 3.debug 4.样式 5.分页Pagination:功能 6.分页Pagination:样式 7.搜索框:功能 8.搜索框:样式 总 ...

  6. 使用xlsx 下载 element ui 中的表格

    原文链接: 使用xlsx 下载 element ui 中的表格 上一篇: MongoDB 聚合 下一篇: vue router 路由守卫 登录验证 https://github.com/SheetJS ...

  7. 【前端】Vue+Element UI案例:通用后台管理系统-用户管理:Form表单填写、Dialog对话框弹出

    文章目录 目标 代码 0.页面结构 1.新增按钮和弹出表单:结构 2.新增按钮和弹出表单:点击新增弹出表单 3.表单样式 4.表单验证 5.表单的提交和取消功能:接口.mock相关准备 6.表单的提交 ...

  8. element ui Table表格数据筛选功能实现

    先来看看实现效果 element ui Table表格数据筛选功能实现 查看Element官网 关于筛选的实例. 在列中设置filters filter-method属性即可开启该列的筛选,filte ...

  9. 【前端】Vue+Element UI案例:通用后台管理系统-登陆不同用户显示不同菜单、动态添加路由

    文章目录 目标 代码 0.动态地显示菜单:store 1.动态注册路由 2.解决刷新后摆平问题 总代码 本篇修改的代码文件 tab.js 参考视频: VUE项目,VUE项目实战,vue后台管理系统,前 ...

最新文章

  1. 服务被干爆了!竟然是日志的锅!!
  2. Jquery基本知识点的总结
  3. unity3d小小白之导入素材、添加天空盒
  4. 移动端调取摄像头上面如何给出框_飞桨实战笔记:自编写模型如何在服务器和移动端部署...
  5. BZOJ1457 棋盘游戏
  6. 各种 分页存储过程整理
  7. Kotlin的匿名方法实现接口回调
  8. 彻头彻尾理解 ConcurrentHashMap
  9. 福建计算机专业公务员考试培训,2016中国证监会公务员考试专业科目考试大纲(计算机类)...
  10. 我是如何利用一个只有500人的QQ通过人性的弱点来变现的
  11. 计算机模拟CS,CS跳跃模拟器电脑版_CS跳跃模拟器手游电脑版_游戏堡
  12. 怎样有效率地进行外文文献检索?
  13. 如何快速提升教育直播间人气
  14. 阿里云天池【Docker练习场】踩坑指南
  15. 使用ListIterator 对List遍历时修改,删除
  16. SQL 常用基础语句
  17. 描写火车站场景_赞美火车的句子(描写火车上情景的句子)
  18. 揭穿微信朋友圈卖东西月入几万的真相
  19. CTO与CIO选型数据中台的几大建议
  20. 基于java客户订单管理系统

热门文章

  1. FreeNas安装教程
  2. c++语言基础知识,c++语言基础知识汇总.ppt
  3. Dede Cms系统提示方式修改以及ShowMsg函数说明
  4. C#自定义控件的设计与调用
  5. Transformer变种—Swin Transformer
  6. 如何给web页面添加一个水印
  7. 全局变量、静态全局变量、静态局部变量和普通局部变量的区别
  8. Java计算字符串中指定字符的出现次数
  9. Oracle 19c 创建用户、授权实践
  10. 【C语言】memcmp函数的实现