vue中el-table一整列没有数据的话让一整列隐藏标签列也隐藏
时间: 2023-12-02 20:05:47 浏览: 344
表格,隐藏列,改变列的位置
3星 · 编辑精心推荐
可以使用 `v-if` 指令来判断表格列中是否有数据,如果没有数据则隐藏整列和对应的表头列。示例代码如下:
```html
<template>
<el-table :data="tableData" style="width: 100%">
<el-table-column prop="name" label="姓名"></el-table-column>
<el-table-column prop="age" label="年龄"></el-table-column>
<el-table-column v-if="hasData('sex')" prop="sex" label="性别"></el-table-column>
</el-table>
</template>
<script>
export default {
data() {
return {
tableData: [
{ name: '张三', age: 18, sex: '' },
{ name: '李四', age: 20, sex: '男' },
{ name: '王五', age: 22, sex: '' }
]
};
},
methods: {
hasData(prop) {
return this.tableData.some(item => item[prop] !== '');
}
}
};
</script>
```
在上面的代码中,我们使用 `v-if` 指令来判断 `sex` 列中是否有数据,如果没有数据则隐藏整列和对应的表头列。`hasData` 方法用来判断表格中某一列中是否有数据,如果有数据则返回 `true`,否则返回 `false`。
注意:如果你使用了固定列或者表头分组等特殊情况,需要对这些情况进行特殊处理。
阅读全文