问题描述:element ui table表格有子节点(树形表格),且展开子节点不在默认第一列?
解决:
1、tableHead的数据格式返回如下,没有type属性的则会作为展开子节点列,tableData的数据格式如下,有children属性则会有子节点。:tree-props="{ children: ‘children’, hasChildren: ‘hasChildren’ }"
tableHead:[
{
"column_name": "a",
"column_comment": "信息分类",
"type": ""
},
{
"column_name": "b",
"column_comment": "信息"
},
{
"column_name": "c",
"column_comment": "变更前",
"type": ""
},
{
"column_name": "d",
"column_comment": "变更后",
"type": ""
}
],
tableData: [
{
"a": "a列",
"b": "b列",
"c": "c列",
"d": "d列",
"is_audit": true,
"id": "0c3e40e2-7d34-42c3-9ae1-8bfaa084655c",
"children": [
{
"a": "a子列",
"b": "b子列",
"c": "c子列",
"d": "d子列",
"is_audit": true,
"id": "b18202a6-eb5e-47c3-b1f6-b96ee412c99a",
"pid": "0c3e40e2-7d34-42c3-9ae1-8bfaa084655c"
}
]
}
]
2、具体代码如下
<el-table
ref="table"
v-loading="tableLoading"
row-key="id"
:data="tableData"
:element-loading-text="$t('common.loading')"
element-loading-spinner="el-icon-loading"
element-loading-background="rgba(0, 0, 0, 0.8)"
style="width: 100%; height: 100%"
border
stripe
fit
default-expand-all
:tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
:span-method="objectSpanMethod"
@expand-change="expandChange"
>
<el-table-column
v-for="(item, index) in tableHead"
:key="item.column_name"
:label="item.column_comment"
:prop="item.column_name"
:align="item.align"
:type="item.type"
:sortable="false"
/>
</el-table>
注意:table必须要加上row-key=“id”
结果:最后效果就是信息一列可以展开子节点。