# Tree 树

## 基础用法
```dart
class Treelist extends StatefulWidget {
  _Treelist createState() => new _Treelist();
}

class _Treelist extends State<Treelist> {
  Map tree = {
    'label': '中国',
    'value': 0,
    'children': [
      {'label': '北京', 'value': 1},
      {'label': '上海', 'value': 2},
      {'label': '天津', 'value': 3},
      {
        'label': '山东',
        'value': 4,
        'children': [
          {'label': '济南', 'value': 31},
          {'label': '青岛', 'value': 32},
          {'label': '潍坊', 'value': 33},
          {'label': '临沂', 'value': 34},
          {'label': '聊城', 'value': 35},
        ],
      },
      {
        'label': '河南',
        'value': 5,
        'children': [
          {'label': '郑州', 'value': 51},
          {'label': '洛阳', 'value': 32},
        ],
      },
    ]
  };
  
  _change(data) {
    print(data);
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Tree'),
      ),
      body: Container(
        child: MillTree(
          tree: tree,
          defaultValue: [1],
          onChange: _change,
        ),
      ));
  }
}
```

![dropdown](../../images/tree.jpg)


## Attributes
| 字段名称 | 说明 | 类型 | 默认值 |
| --- | --- | --- | --- |
| tree | 数据源，树结构数据 | Map |  |
| defaultValue | 默认已选项 | List\<value\> |  |
| alasLabel | label 的别名 | String | label |
| alasValue | value 的别名 | String | value |
| onChange | 回调函数，当选项改变时。 | Function |  |



