### Tree

树形结构输入框。

- `type` 请设置成 `tree`
- `options` 类似于 [select](./Select.md) 中 `options`, 并且支持通过 `children` 无限嵌套。
- `source` Api 地址，如果选项不固定，可以通过配置 `source` 动态拉取。
- `hideRoot` 默认为 `true`, 如果想要显示个顶级节点，请设置为 `false`
- `rootLabel` 默认为 `顶级`，当 `hideRoot` 不为 `false` 时有用，用来设置顶级节点的文字。
- `showIcon` 是否显示投标，默认为 `true`。
- `showRadio` 是否显示单选按钮，`multiple` 为 `false` 是有效。
- `initiallyOpen` 默认为`true`，设置是否默认展开所有层级。
- `unfoldedLevel` 默认为`0`，设置默认展开的级数，只有`initiallyOpen`不是`true`时生效。
- `cascade` 设置成 `true` 时当选中父节点时不自动选择子节点。
- `withChildren` 是指成 `true`，选中父节点时，值里面将包含子节点的值，否则只会保留父节点的值。
- `multiple` 默认为 `false`, 设置成 `true` 表示可多选。
- `joinValues` 默认为 `true`
- 单选模式：当用户选中某个选项时，选项中的 value 将被作为该表单项的值提交，否则，整个选项对象都会作为该表单项的值提交。
- 多选模式：选中的多个选项的 `value` 会通过 `delimiter` 连接起来，否则直接将以数组的形式提交值。
- `extractValue` 默认为 `false`, `joinValues`设置为`false`时生效, 开启后将选中的选项 value 的值封装为数组，作为当前表单项的值。
- `delimiter` 默认为 `,`
- `selfDisabledAffectChildren` 默认为 `true`，当前节点禁用是否会禁用子节点
- `rootCreatable` 默认为 `false`， 是否可以创建顶级节点
- `rootCreateTip` 默认为 `"添加一级节点"`， 创建顶级节点的悬浮提示
- `creatable` 默认为 `false`，是否可以创建子节点
- `addApi` 创建节点接口，格式参考 [api](../Types.md#api)
- `createTip` 默认为 `"添加孩子节点"`，添加节点按钮的鼠标悬浮提示
- `editable` 默认为 `false`，是否可以编辑节点
- `editApi` 编辑节点接口，格式参考 [api](../Types.md#api)
- `editTip` 默认为 `"编辑该节点"`，编辑节点按钮的鼠标悬浮提示
- `removable` 默认为 `false`，是否可以删除节点
- `deleteApi` 删除节点接口，格式参考 [api](../Types.md#api)
- `removeTip` 默认为 `"移除该节点"`，删除节点按钮的鼠标悬浮提示
- **还有更多通用配置请参考** [FormItem](./FormItem.md)

```schema:height="300" scope="form-item"
{
  "type": "tree",
  "name": "tree",
  "label": "Tree",
  "options": [
    {
      "label": "Folder A",
      "value": 1,
      "children": [
        {
          "label": "file A",
          "value": 2
        },
        {
          "label": "file B",
          "value": 3
        }
      ]
    },
    {
      "label": "file C",
      "value": 4
    },
    {
      "label": "file D",
      "value": 5
    }
  ]
}
```
