<template>
|
<el-table-column
|
:label="coloumnHeader.label"
|
:prop="coloumnHeader.label"
|
show-overflow-tooltip
|
align="center"
|
:min-width="coloumnHeader.width ? coloumnHeader.width : '200px'"
|
:sortable="
|
coloumnHeader.sortable == undefined ? false : coloumnHeader.sortable
|
"
|
>
|
<!-- <template #header>
|
{{ coloumnHeader.label }}
|
<el-button type="primary" @click="hidden1">隐藏</el-button>
|
</template> -->
|
<template
|
v-for="item in coloumnHeader.children.filter((item) => !item.hidden)"
|
>
|
<tableColumn
|
v-if="item.children && item.children.length"
|
:key="item.id"
|
:coloumn-header="item"
|
>
|
</tableColumn>
|
<el-table-column
|
v-else
|
:key="item.name"
|
:label="item.label"
|
:prop="item.prop"
|
align="center"
|
:min-width="item.width ? item.width : '200px'"
|
:sortable="item.sortable == undefined ? false : item.sortable"
|
>
|
<!-- <template #header>
|
{{ item.label }}
|
<el-button type="primary" @click="hidden2(item)">隐藏</el-button>
|
</template> -->
|
</el-table-column>
|
</template>
|
</el-table-column>
|
</template>
|
|
<script>
|
import tableCol from '../js/tableCol';
|
export default {
|
name: 'tableColumn',
|
props: {
|
// 表头数据信息
|
coloumnHeader: {
|
type: Object,
|
required: true
|
}
|
},
|
methods: {
|
hidden1() {
|
let header = this.coloumnHeader;
|
header.hidden = true;
|
},
|
hidden2(header) {
|
header.hidden = true;
|
},
|
sortChangeFunc(column, prop, order) {
|
console.log('tableCol', tableCol);
|
|
tableCol.sortChange(column, prop, order);
|
}
|
}
|
};
|
</script>
|
|
<style scoped></style>
|