实现 element-ui 中 el-table 点击一行展开
微wx笑 2022-03-13【前端开发】 3 0关键字: element-ui el-table
element-ui的el-table有展开行的功能,当行内容过多并且不想显示横向滚动条时,可以使用 Table 展开行功能。但是默认的示例却只有点击固定的一个单元格才能展开,用户体验不好,如何才能只要点击一行的任意位置都可以展开呢?
实现element-ui中 table 点击一行展开
先上效果图:
实现思路:
1. table 添加 ref="refTable" 引用 该table
2. table 添加 @row-click="clickTable" 点击事件
3. 点击时,调用table的方法 toggleRowExpansion ,展开/关闭
参考API : https://element.eleme.cn/#/zh-CN/component/table
clickTable(row,index,e){
//调用,table的方法,展开/折叠 行
this.$refs.refTable.toggleRowExpansion(row)
}
--- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
参考代码,由于自己实际写的复杂.
而且数据,是 远端加载,不易懂 所以此处贴的是别人的代码:
(复制粘贴即可用,代码转自简书: https://www.jianshu.com/p/e51ba4cb11d6 )
<template> <el-table :data="tableData5" @row-click="clickTable" ref="refTable" style="width: 100%"> <el-table-column type="expand"> <template slot-scope="props"> <el-form label-position="left" inline class="demo-table-expand"> <el-form-item label="商品名称"> <span>{{ props.row.name }}</span> </el-form-item> <el-form-item label="所属店铺"> <span>{{ props.row.shop }}</span> </el-form-item> <el-form-item label="商品 ID"> <span>{{ props.row.id }}</span> </el-form-item> <el-form-item label="店铺 ID"> <span>{{ props.row.shopId }}</span> </el-form-item> <el-form-item label="商品分类"> <span>{{ props.row.category }}</span> </el-form-item> <el-form-item label="店铺地址"> <span>{{ props.row.address }}</span> </el-form-item> <el-form-item label="商品描述"> <span>{{ props.row.desc }}</span> </el-form-item> </el-form> </template> </el-table-column> <el-table-column label="商品 ID" prop="id"> </el-table-column> <el-table-column label="商品名称" prop="name"> </el-table-column> <el-table-column label="描述" prop="desc"> </el-table-column> </el-table> </template> <style> .demo-table-expand { font-size: 0; } .demo-table-expand label { width: 90px; color: #99a9bf; } .demo-table-expand .el-form-item { margin-right: 0; margin-bottom: 0; width: 50%; } </style> <script> export default { data() { return { tableData5: [{ id: '12987122', name: '好滋好味鸡蛋仔', category: '江浙小吃、小吃零食', desc: '荷兰优质淡奶,奶香浓而不腻', address: '上海市普陀区真北路', shop: '王小虎夫妻店', shopId: '10333' }, { id: '12987123', name: '好滋好味鸡蛋仔', category: '江浙小吃、小吃零食', desc: '荷兰优质淡奶,奶香浓而不腻', address: '上海市普陀区真北路', shop: '王小虎夫妻店', shopId: '10333' }, { id: '12987125', name: '好滋好味鸡蛋仔', category: '江浙小吃、小吃零食', desc: '荷兰优质淡奶,奶香浓而不腻', address: '上海市普陀区真北路', shop: '王小虎夫妻店', shopId: '10333' }, { id: '12987126', name: '好滋好味鸡蛋仔', category: '江浙小吃、小吃零食', desc: '荷兰优质淡奶,奶香浓而不腻', address: '上海市普陀区真北路', shop: '王小虎夫妻店', shopId: '10333' }] } }, methods: { clickTable(row,index,e){ this.$refs.refTable.toggleRowExpansion(row) } } </script>
————————————————
版权声明:本文为CSDN博主「胡萧徒」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42144379/article/details/89511513
本文为转载文章,版权归原作者所有,不代表本站立场和观点。