Tree
<Tree>
Used to show a tree-structured data.
Import
import { Tree } from 'rsuite';
// or
import Tree from 'rsuite/Tree';
Examples
Default
Show Indent Lines
China
Beijing
Fujian
Fuzhou
Nanping
Quanzhou
Putian
Guangdong
Guangzhou
Shenzhen
Zhaoqing
Huizhou
Yangjiang
Maoming
Zhanjiang
Zhongshan
Zhuhai
Jiangmen
Inner Mongolia
Hohhot
Chifeng
Ordos
Ulanqab
Bayan Nur
Hong Kong
Taiwan
Guizhou
Guiyang
Qiannan
Tongren
Ningxia
Yinchuan
Jiangsu
Nanjing
Changzhou
Suzhou
Wuxi
Xuzhou
Lianyungang
Yangzhou
Suqian
Huaian
Taizhou
Nantong
Yancheng
Zhenjiang
Macao
Hubei
Wuhan
Jingzhou
Yichang
Xiangfan
Xiaogan
Huanggang
Huangshi
Xianning
Jingmen
Shennongjia
Ezhou
Suizhou
Enshi
Shiyan
Tibet
Lhasa
Shigatse
Shannan,Tibet
Nyingchi
Qamdo
Nagqu
Ngari,Tibet
Tianjin
Shanghai
Hebei
Shijiazhuang
Baoding
Handan
Gansu
Dingxi
Tianshui
Lanzhou
Zhejiang
Hangzhou
Jinhua
Lishui
Jilin
Changchun
Jilin
Siping
Jiangxi
Nanchang
Jiujiang
Jingdezhen
Qinghai
Xining
Haixi
Hainan
Sanya
Haikou
Draggable
China
Beijing
Fujian
Fuzhou
Nanping
Quanzhou
Putian
Guangdong
Guangzhou
Shenzhen
Zhaoqing
Huizhou
Yangjiang
Maoming
Zhanjiang
Zhongshan
Zhuhai
Jiangmen
Inner Mongolia
Hohhot
Chifeng
Ordos
Ulanqab
Bayan Nur
Hong Kong
Taiwan
Guizhou
Guiyang
Qiannan
Tongren
Ningxia
Yinchuan
Jiangsu
Nanjing
Changzhou
Suzhou
Wuxi
Xuzhou
Lianyungang
Yangzhou
Suqian
Huaian
Taizhou
Nantong
Yancheng
Zhenjiang
Macao
Hubei
Wuhan
Jingzhou
Yichang
Xiangfan
Xiaogan
Huanggang
Huangshi
Xianning
Jingmen
Shennongjia
Ezhou
Suizhou
Enshi
Shiyan
Tibet
Lhasa
Shigatse
Shannan,Tibet
Nyingchi
Qamdo
Nagqu
Ngari,Tibet
Tianjin
Shanghai
Hebei
Shijiazhuang
Baoding
Handan
Gansu
Dingxi
Tianshui
Lanzhou
Zhejiang
Hangzhou
Jinhua
Lishui
Jilin
Changchun
Jilin
Siping
Jiangxi
Nanchang
Jiujiang
Jingdezhen
Qinghai
Xining
Haixi
Hainan
Sanya
Haikou
Async
Parent Node
Props
<Tree>
Property | Type (Default) |
Description |
---|---|---|
childrenKey | string ('children') |
Tree data structure Children property name |
classPrefix | string('picker') |
The prefix of the component CSS class |
data * | ItemDataType[] | Tree Data |
defaultExpandAll | boolean | Expand all nodes By default |
defaultExpandItemValues | string[] | Set the value of the default expanded node |
defaultValue | string | Default selected Value |
disabledItemValues | string[] | Disable item by value |
draggable | boolean | Setting drag node |
expandItemValues | string[] | Set the value of the expanded node (controlled) |
getChildren | (item: ItemDataType) => Promise<ItemDataType > | load node children data asynchronously |
height | number (360px) |
Height of tree. When virtualize is true, you can set the height of tree |
labelKey | string ('label') |
Tree data structure Label property name |
listProps | ListProps | List-related properties in react-virtualized |
onChange | (value:string) => void | Callback function for data change |
onDragEnd | (item: ItemDataType, event) => void | Called when node drag end |
onDragEnter | (item: ItemDataType, event) => void | Called when node drag enter |
onDragLeave | (item: ItemDataType, event) => void | Called when node drag leave |
onDragOver | (item: ItemDataType, event) => void | Called when node drag over |
onDragStart | (item: ItemDataType, event) => void | Called when node drag start |
onDrop | (dropData: [DropDataType][drop], event) => void | Called when node drop |
onExpand | (expandItemValues: string[], item: ItemDataType, concat:(data, children) => Array) => void | Callback When tree node is displayed |
onSelect | (item:ItemDataType, value, event) => void | Callback function after selecting tree node |
renderTreeIcon | (item: ItemDataType) => ReactNode | Custom Render icon |
renderTreeNode | (item: ItemDataType) => ReactNode | Custom Render tree Node |
searchKeyword | string | searchKeyword (Controlled) |
showIndentLine | boolean | Whether to show indent line |
value | string | Selected value |
valueKey | string ('value') |
Tree data Structure Value property name |
virtualized | boolean | Whether using Virtualized List |
ts:ItemDataType
interface ItemDataType {
/** The value of the option corresponds to the `valueKey` in the data. **/
value: string;
/** The content displayed by the option corresponds to the `labelKey` in the data. **/
label: ReactNode;
/**
* The data of the child option corresponds to the `childrenKey` in the data.
* Properties owned by tree structure components, such as TreePicker, Cascader.
*/
children?: ItemDataType[];
/**
* Properties of grouping functional components, such as CheckPicker, InputPicker
*/
groupBy?: string;
/**
* The children under the current node are loading.
* Used for components that have cascading relationships and lazy loading of children. E.g. Cascader, MultiCascader
*/
loading?: boolean;
}
ts:DropDataType
type DropDataType = {
/** drag node data */
dragNode: any;
/** dropNode data */
dropNode: any;
/** node drop position */
dropNodePosition: TREE_NODE_DROP_POSITION;
/** Update Data when drop node */
createUpdateDataFunction: (data: any[]) => any[];
};
enum TREE_NODE_DROP_POSITION {
DRAG_OVER = 0, // drag node in tree node
DRAG_OVER_TOP = 1, // drag node on tree node
DRAG_OVER_BOTTOM = 2 // drag node under tree node
}
Related components
<CheckTree>
Selector component, which supports a Checkbox on the TreePicker node for multiple selections.<TreePicker>
Used to show a tree-structured data.<CheckTreePicker>
Used to show a tree-structured data while supporting Checkbox selection.