【Vue】element ui table中,某些行需要展开,某些行不需要展开

element ui table中,可否做到根据行数据信息来设置当前行是否有展开功能?

<el-table-column type="expand"></el-table-column>

看源码觉得这个属性不可控,求高人相助

回答

【Vue】element ui table中,某些行需要展开,某些行不需要展开

【Vue】element ui table中,某些行需要展开,某些行不需要展开

最终要实现的目的是这种的,现在实现的方式是从css上解决:
html

<el-table :data="tableData5" style="width: 100%" :row-class-name="setClassName">

<el-table-column type="expand">...</el-table-column>

</el-table>

js

data() {

return {

tableData5: [{

id: '12987122',

name: '好滋好味鸡蛋仔',

category: '江浙小吃、小吃零食',

desc: '荷兰优质淡奶,奶香浓而不腻',

address: '上海市普陀区真北路',

shop: '王小虎夫妻店',

shopId: '10333',

expand: true

}, {

id: '12987123',

name: '好滋好味鸡蛋仔',

category: '江浙小吃、小吃零食',

desc: '荷兰优质淡奶,奶香浓而不腻',

address: '上海市普陀区真北路',

shop: '王小虎夫妻店',

shopId: '10333',

expand: false

}, {

id: '12987125',

name: '好滋好味鸡蛋仔',

category: '江浙小吃、小吃零食',

desc: '荷兰优质淡奶,奶香浓而不腻',

address: '上海市普陀区真北路',

shop: '王小虎夫妻店',

shopId: '10333',

expand: true

}, {

id: '12987126',

name: '好滋好味鸡蛋仔',

category: '江浙小吃、小吃零食',

desc: '荷兰优质淡奶,奶香浓而不腻',

address: '上海市普陀区真北路',

shop: '王小虎夫妻店',

shopId: '10333',

expand: false

}]

}

},

methods:{

setClassName({row, index}){

// 通过自己的逻辑返回一个class或者空

return row.expand ? 'expand' : '';

},

},

css

.expand .el-table__expand-column .cell {

display: none;

}

ele没有提供单独行展开的做法,控制不了<el-table-column type="expand"></el-table-column>的条件,而且就算上楼所说的将template标签添加是否显示,但是展开符号仍然还有,用户仍然认为是可选的,体验不好。
建议在表格数据渲染的时候将需要隐藏的展开符号行的index值保存,表格数据渲染到页面之后根据所保留的index值数组将所在行的图标标签<i class="el-icon el-icon-arrow-right"></i>隐藏(删除也可以,但是此时index值会有修改,需要注意下)

你用v-if控制<el-table-column type="expand"></el-table-column>这个不就完了

加了<el-table-column type="expand"></el-table-column>就会出现一列点选展开的向右箭头。

element-ui现在的table不能满足你根据行数据信息来设置当前行是否有展开功能的需求。

但你可以设置 v-if="props.row.canExpand" 来控制展开内容是否为空

<template slot-scope="props" v-if="props.row.canExpand">

</template>

没看懂:row-class-name="setClassName"这个跟type有关系吗

以上是 【Vue】element ui table中,某些行需要展开,某些行不需要展开 的全部内容, 来源链接: utcz.com/a/74436.html

回到顶部