转载:https://www.cnblogs.com/xiaochongchong/p/8127282.html

  1. <template>
  2. <el-table
  3. :data="tableData5"
  4. style="width: 100%"
  5. row-key="id"
  6. :expand-row-keys="expands"
  7. @row-click="rowClick">
  8. <el-table-column type="expand">
  9. <template slot-scope="props">
  10. <el-form label-position="left" inline class="demo-table-expand">
  11. <el-form-item label="商品名称">
  12. <span>{{ props.row.name }}</span>
  13. </el-form-item>
  14. <el-form-item label="所属店铺">
  15. <span>{{ props.row.shop }}</span>
  16. </el-form-item>
  17. <el-form-item label="商品 ID">
  18. <span>{{ props.row.id }}</span>
  19. </el-form-item>
  20. <el-form-item label="店铺 ID">
  21. <span>{{ props.row.shopId }}</span>
  22. </el-form-item>
  23. <el-form-item label="商品分类">
  24. <span>{{ props.row.category }}</span>
  25. </el-form-item>
  26. <el-form-item label="店铺地址">
  27. <span>{{ props.row.address }}</span>
  28. </el-form-item>
  29. <el-form-item label="商品描述">
  30. <span>{{ props.row.desc }}</span>
  31. </el-form-item>
  32. </el-form>
  33. </template>
  34. </el-table-column>
  35. <el-table-column
  36. label="商品 ID"
  37. prop="id">
  38. </el-table-column>
  39. <el-table-column
  40. label="商品名称"
  41. prop="name">
  42. </el-table-column>
  43. <el-table-column
  44. label="描述"
  45. prop="desc">
  46. </el-table-column>
  47. </el-table>
  48. </template>
  49.  
  50. <style>
  51. .demo-table-expand {
  52. font-size: 0;
  53. }
  54. .demo-table-expand label {
  55. width: 90px;
  56. color: #99a9bf;
  57. }
  58. .demo-table-expand .el-form-item {
  59. margin-right: 0;
  60. margin-bottom: 0;
  61. width: 50%;
  62. }
  63. </style>
  64.  
  65. <script>
  66. export default {
  67. data() {
  68. return {
  69. tableData5: [{
  70. id: '12987122',
  71. name: '好滋好味鸡蛋仔',
  72. category: '江浙小吃、小吃零食',
  73. desc: '荷兰优质淡奶,奶香浓而不腻',
  74. address: '上海市普陀区真北路',
  75. shop: '王小虎夫妻店',
  76. shopId: '10333'
  77. }, {
  78. id: '12987123',
  79. name: '好滋好味鸡蛋仔',
  80. category: '江浙小吃、小吃零食',
  81. desc: '荷兰优质淡奶,奶香浓而不腻',
  82. address: '上海市普陀区真北路',
  83. shop: '王小虎夫妻店',
  84. shopId: '10333'
  85. }, {
  86. id: '12987125',
  87. name: '好滋好味鸡蛋仔',
  88. category: '江浙小吃、小吃零食',
  89. desc: '荷兰优质淡奶,奶香浓而不腻',
  90. address: '上海市普陀区真北路',
  91. shop: '王小虎夫妻店',
  92. shopId: '10333'
  93. }, {
  94. id: '12987126',
  95. name: '好滋好味鸡蛋仔',
  96. category: '江浙小吃、小吃零食',
  97. desc: '荷兰优质淡奶,奶香浓而不腻',
  98. address: '上海市普陀区真北路',
  99. shop: '王小虎夫妻店',
  100. shopId: '10333'
  101. }],
  102.  
  103. // 要展开的行,数值的元素是row的key值
  104. expands: []
  105. }
  106. },
  107. methods:{
  108. //在<table>里,我们已经设置row的key值设置为每行数据id:row-key="id"
  109. rowClick(row, event, column) {
  110. Array.prototype.remove = function (val) {
  111. let index = this.indexOf(val);
  112. if (index > -1) {
  113. this.splice(index, 1);
  114. }
  115. };
  116.  
  117. if (this.expands.indexOf(row.id) < 0) {
  118. this.expands.push(row.id);
  119. } else {
  120. this.expands.remove(row.id);
  121. }
  122.  
  123. }
  124. }
  125.  
  126. }
  127. </script>

主要更改部分:

在<table>中添加:

  1. row-key="id"
  2. :expand-row-keys="expands"
  3. @row-click="rowClick"

实现展开当前行的时候,其他行都能收起来

(即在rowClick函数给expands添加之前,先清空这个数组)

  1. if (this.expands.indexOf(row.id) < 0) {
  2. this.expands = []; // 清空expangds
  3. this.expands.push(row.id);
  4. } else {
  5. this.expands.remove(row.id);
  6. }
  1.  

element-ui表格点击一行展开的更多相关文章

  1. element ui table(表格)点击一行展开

    element ui是一个非常不错的vue的UI框架,element对table进行了封装,简化了vue对表格的渲染. element ui表格中有一个功能是展开行,在2.0版本官网例子中,只可以点击 ...

  2. element ui 表格提交时获取所有选中的checkbox的数据

    <el-table ref="multipleTable" :data="appList" @selection-change="changeF ...

  3. vue + element ui 表格自定义表头,提供线上demo

    前言:工作中用到 vue+element ui 的前端框架,需要使用自定义表头,需要使用 re.转载请注明出处:https://www.cnblogs.com/yuxiaole/p/9710826.h ...

  4. 封装一个优雅的element ui表格组件

    现在做后台系统用vue + elementUI 的越来越多,那element ui的 el-table 组件肯定也离不开.虽然element ui的table组件很好.但是表格和分页是分离的.每次写表 ...

  5. vue2.0+Element UI 表格前端分页和后端分页

    之前写过一篇博客,当时对element ui框架还不太了解,分页组件用 html + css 自己写的,比较麻烦,而且只提到了后端分页 (见 https://www.cnblogs.com/zdd20 ...

  6. Element UI表格组件技巧:如何简洁实现跨页勾选、跨页统计功能

    业务场景 在使用Element UI的Table组件时,常常面对这样的业务需求: 表格数据的每一项都要提供勾选框,当切换分页时,能够记忆所有页面勾选的数据,以实现批量提交不同页面勾选数据的功能.并且, ...

  7. element UI表格行高、padding等设置报错问题

    element UI里面表格的行高需要自己调整高度和设置padding,直接写style是不行的,里面有 : 1.row-style (行的 style) 2.header-row-styl   (表 ...

  8. element ui表格实现单选 但是单选取消会报错

    1.在el-table中添加两个事件  @selection-change="handleSelectionChange"  @current-change="choos ...

  9. 实现element-ui中table点击一行展开

    转:https://www.jianshu.com/p/e51ba4cb11d6 先上效果   效果图 三要素 1.row-click 点击行 2.ref 自行了解vue 3.toggleRowExp ...

随机推荐

  1. exe自启动的几种方式

    1 注册表启动项目RUN (注册路径 HKEY_LOCAL_MACHINE\SOFTWARE\microsoft\Windows\CurrentVersion\Run) 2 计划任务 比较少见这种方式 ...

  2. 20140724 菜单制作:制表位(段落->制表位->)

    1.菜单制作:制表位(段落->制表位->) 叶轩楠·········· 上海大学 轩楠叶·········· 上海大学 楠轩叶·········· 上海大学 选完后要选“设置” 2.光盘制 ...

  3. 20140613 Opencv重新编译 word小技巧

    1.OPENCVGPU重新编译+自己的文件 注意点: 1.生成OPENCV.sln解决方案后,在ALL_build的属性中,添加相应目录: ALL_BUILD中的Debug和Release上的Micr ...

  4. 42-Ubuntu-用户管理-07-修改权限命令介绍

    修改文件权限 序号 命令 作用 01 chown 修改文件/目录拥有者 02 chgrp 修改文件/目录所在主组 03 chmod 修改文件/目录权限   chmod   chown chgrp   ...

  5. pytest_fixture--scope="session"

    import pytest@pytest.fixture(scope="session")def login(): print("\n输入用户名密码登陆! configt ...

  6. Async await 异步编程说明

    希望在编程上有些许提高所以 最近连续2篇博客都在说明多线程和异步编程的使用,异步和多线程之间区别请自行百度,因为理解不是特别透彻就不在叙述以免误导大家,这里写下新研究整理 task  和 await ...

  7. 《提高c++性能的编程技术》读书笔记

    一个程序的执行效率是取决于改程序翻译成汇编语言之后的执行的机器指令的条数.而每一个机器指令的执行的周期是一定的.C语言和C++都是高于汇编语言的高级语言,其中,C语言源代码与其相应的机器指不是完全同一 ...

  8. redis安装到本地服务的方法

    要安装Redis,首先要获取安装包. Windows的Redis安装包需要到以下GitHub链接找到. 链接:https://github.com/MSOpenTech/redis 打开网站后,找到R ...

  9. Q:elementUI中tree组件动态展开

    1,在组件中设置展开收缩开关  default-expand-all="isExpand" 2,展开收起触发按钮 <div class="tree-foot cle ...

  10. smarty基础总结

    前提: 1. 部署smarty模板目录: 2. 编写Smarty类的子类,定制好template_dir.compile_dir.config_dir.cache_dir.left_delimiter ...