UNPKG

zent

Version:

一套前端设计语言和基于React的实现

98 lines (76 loc) 7.69 kB
--- title: Tree path: component/tree group: Data Display scatter: true --- ## Tree Visually display multilevel content, supporting expansion and collapse. ### Suggestion - Use the `Tree` component when hierarchical information needs to be displayed in a window. ### Note - Do not use `Tree` when non-hierarchical or hierarchical information does not need to be displayed in a window. ### Demos <!-- demo-slot-1 --> <!-- demo-slot-2 --> <!-- demo-slot-7 --> <!-- demo-slot-8 --> <!-- demo-slot-9 --> ### API #### Tree | Property | Description | Type | Default | Alternative | | ----------------------- | ------------------------------------------------------------------------------------------------- | ------------------- | ---------- | -------------------- | --- | | dataType | data structure, default is tree | string | `'tree'` | `'plain'` | | data | required, input data, identified by dataType | array | | | | renderKey | the key map for render node, see the following table | object | | | | render | you can customize function to render tree , the parameter is node data (includings children tree) | func(data) | | | | operations | custom operate, includes `name`, `icon`, `action`, `shouldRender` attributes | array[object] | | | | foldable | whether to support item show and hide | bool | `true` | | | onCheck | when you click checkbox, callback function will call, params is a checked id list and help info | func(ids, helpInfo) | | | | checkable | whether to support checkbox | bool | `true` | | | | checkedKeys | checked node id array | array | | | | disabledCheckedKeys | default disabled selected node id array | array | | | | size | size | string | `'medium'` | `'small'`, `'large'` | | commonStyle | set entire tree style | object | | | | expandAll | whether to expand all nodes | bool | `false` | | | onExpand | after node expands, callback is trigger | func(data, config) | | | | autoExpandOnSelect | node auto expands when you select it | bool | `false` | | | onSelect | the callback when you choose tree node | func(data, target) | | | | isRoot | plain data, to determine whether the node is the api of the root node | func(node) | | | | loadMore | return Promise func, support thenable callback, be used to asynchronously load more content | func(data) | | | | selectable | whether the node is selectable | bool | `true` | | | selectedKey | The currently selected node | `string`\|`number` | | | | disabledSelectedKeys | A collection of forbidden nodes id | `(string | number)[]` | | | | disableSelectedStrictly | Whether the parent is prohibited from selecting its children at the same time | `boolean` | `false` | `true` | | onlyShowOneLine | Title Whether only show one line | `boolean` | `false` | `true` | #### renderKey The Key for customized for `data`. | Property | Description | Type | Default | | -------- | -------------------------------------------------- | ------ | ------------ | | id | key for unique key | string | `'id'` | | title | key for show title | string | `'title'` | | children | key for children tree (`dataType="tree"` it works) | string | `'children'` | | parentId | key for parent Id (`dataType="plain"` it works) | string | `'parentId'` | #### data Except for key-value below, you can add attributes on any node, the callback will get entire data that user input. You can customize key through `renderKey`. | Property | Description | Type | Default | | -------- | -------------------------------------------------------------------- | ------------- | ------- | | id | required, unique key | number/string | | | title | required, show title | string | | | children | children tree (`dataType="tree"` it works) | array[object] | | | parentId | parent Id (`dataType="plain"` it works), root node is 0 or undefined | number/string | | | expand | whether to expand or not | bool | `false` | | isLeaf | whether is leaf node or not | bool | `false` | #### operations | Property | Description | Type | Default | | ------------ | -------------------------------------------------------- | ---------------- | ------- | | name | required, show content | string | | | icon | display icon className, or ReactNode | string/ReactNode | | | action | required, click callback, the parameter is children tree | func(data) | | | shouldRender | is it need to update, return true/false | func(data) | `true` | #### The following functions is obsolete in the new design system and is only used as a reference for the old version <!-- demo-slot-3 --> <!-- demo-slot-4 --> <!-- demo-slot-5 --> <!-- demo-slot-6 -->