# TreeSelect ### Install ```js import Vue from 'vue'; import { TreeSelect } from 'vant'; Vue.use(TreeSelect); ``` ## Usage ### Radio Mode ```html ``` ```js export default { data() { return { items, activeId: 1, activeIndex: 0, }; }, }; ``` ### Multiple Mode ```html ``` ```js export default { data() { return { items, activeIds: [1, 2], activeIndex: 0, }; }, }; ``` ### Custom Content ```html ``` ```js export default { data() { return { active: 0, items: [{ text: 'Group 1' }, { text: 'Group 2' }], }; }, }; ``` ### Show Badge ```html ``` ```js export default { data() { return { activeIndex: 0, items: [ { text: 'Group 1', children: [], dot: true }, { text: 'Group 2', children: [], badge: 5 }, ], }; }, }; ``` ## API ### Props | Attribute | Description | Type | Default | | --- | --- | --- | --- | | items | Required datasets for the component | _Item[]_ | `[]` | | height | Height | _number \| string_ | `300` | | main-active-index | The index of selected parent node | _number \| string_ | `0` | | active-id | Id of selected item | _number \| string \|
(number \| string)[]_ | `0` | | max `v2.2.0` | Maximum number of selected items | _number \| string_ | `Infinity` | | selected-icon `v2.9.0` | Selected icon | _string_ | `success` | ### Events | Event | Description | Arguments | | --- | --- | --- | | click-nav | triggered when parent node is selected | index: index of selected parent | | click-item | triggered when item is selected | data: selected item | ### Slots | Name | Description | | ------- | -------------------- | | content | Custom right content | ### Data Structure of Item `items` should be an array contains specified tree objects. In every tree object, `text` property defines `id` stands for the unique key while the `children` contains sub-tree objects. ```js [ { // name of the parent node text: 'Group 1', // badge badge: 3, // Whether to show red dot dot: true, // ClassName of parent node className: 'my-class', // leaves of this parent node children: [ { // name of the leaf node text: 'Washington', // id of the leaf node, component highlights leaf node by comparing the activeId with this. id: 1, // disable options disabled: true, }, { text: 'Baltimore', id: 2, }, ], }, ]; ```