element官网提示设置tree-props
为{children: 'children',hasChildren: 'hasChildren'}
,data数据需要设置children
和hasChildren
属性,row-key
也绑定了数据的唯一值变量id
,但是树形结构就是出不来
在el-table中,支持树类型的数据的显示。当 row 中包含 children
字段时,被视为树形数据。渲染树形数据时,必须要指定 row-key
。支持子节点数据异步加载。
设置 Table 的 lazy
属性为 true 与加载函数 load 。通过指定 row 中的 hasChildren
字段来指定哪些行是包含子节点。children
与 hasChildren
都可以通过 tree-props
配置。
default-expand-all
属性表示默认展开,不需要展开可以删除。row-key="id"
和 row
里面的属性有children
字段(即数据里面需要有children字段) 是必须的,:tree-props="{children: 'children',hasChildren: 'hasChildren'}
可有可无。
如果不是懒加载的话,后端不要设置hasChildren
这个属性,要不然不能树形显示;如果是懒加载,则需要设置hasChildren
字段。
总结:如果想用树形结构,后端的字段名称必须为children,是固定的,其他名字不可以,例如sons,是无法显示树形结构的,否则就要在前端代码中配置defaultprops!
参考文献:https://www.cnblogs.com/pzw23/p/12058457.html
https://blog.csdn.net/Julia_0502/article/details/117488475