mj-tree-structure
Version:
扁平结构数据与树形结构数据之间的相互转换、tree
66 lines (55 loc) • 2.44 kB
Markdown
# 1、下载安装指令
```javascript
npm install mj-tree-structure --save
```
# 2、功能介绍
> **本插件主要有两个功能。
功能一:`扁平结构`的数据转化成`树形结构`的数据,关键点在于`扁平结构`的数据必须有一个字段存储其`父级id`。
更能二:`树形结构`的数据转化成`扁平结构`的数据。**
# 3、函数方法介绍
**扁平结构数据转为树形结构数据的方法**
> **函数的参数:`treelization(list = [], parentId = 'parentId', key = 'children')`**
> |参数名|描述|是否必须|
> |--:|:--|:--:|
> |`list`|数据源,必须是数组对象|`是`|
> |`parentId`|`父级id`,`父级id`必须与源数据的某个`id`值相等|`是`|
> |`key`|存放子级数据的字段名称,也就是子级名称|`是`|
---
**树形结构数据转为扁平结构数据的方法**
> **函数的参数:`delayering(arr = [], configure = [], key)`**
> |参数名|描述|是否必须|
> |--:|:--|:--:|
> |`arr`|数据源,必须是数组对象|`是`|
> |`configure`|存放数据字段,就是把需要获取的字段放到此数组中,必须保证这些字段在源数据中都存在,否则抛出异常|`是`|
> |`key`|子级属性名,如果不传或传入的值在源数据中匹配不上,则返回源数据,并且源数据的第一级添加此属性,值为`undefined`|`是`|
# 4、调用方式
**CDN引入**
```html
<script src="./node_modules/mj-tree-structure/index.js"></script>
<script>
let { treelization, delayering } = treeStructure;
// 扁平结构数据转为树形结构数据的方法
console.log(treelization(arr, 'parentId', 'children'));
// 树形结构数据转为扁平结构数据的方法
console.log(delayering(arr, configure, 'children'));
</script>
```
---
**vue引入**
```javascript
import { treelization, delayering } from "mj-tree-structure";
// let { treelization, delayering } = require("mj-tree-structure");
export default {
name: "treeStructure",
data() {
return {};
},
mounted() {
// 扁平结构数据转为树形结构数据的方法
console.log(treelization(arr, 'parentId', 'children'));
// 树形结构数据转为扁平结构数据的方法
console.log(delayering(arr, configure, 'children'));
},
methods: {},
};
```