ant-design/components/tree-select/index.en-US.md
二货爱吃白萝卜 cbcfd38ca7
docs: v5 site upgrade (#38328)
* build: try to use dumi as doc tool

* docs: migrate demo structure to dumi way

* refactor: use type export & import

* docs: migrate demo previewer to dumi

* docs: create empty layout & components

* docs: apply custom rehype plugin

* docs: create empty extra pages

* docs: Add Banner component

* chore: move theme tsconfig.json

* docs: home page init

* docs: migrate header (#37896)

* docs: header

* docs: update

* docs: home init

* clean up

* test: fix site lint

* chore: tsc ignore demo

* chore: dumi demo migrate script

* chore: cards

* docs: home layout

* docs: Update locale logic

* docs: fix getLink logic

* chore: fix ci (#37899)

* chore: fix ci

* ci: remove check-ts-demo

* ci: preview build

* test: ignore demo.tsx

* chore: update script

* test: update snapshot

* test: update node and image test

* chore: add .surgeignore

* docs: layout providers (#37908)

* docs: add components sidebar (#37923)

* docs: sidebar

* docs: update docs title

* docs: update design doc

* chore: code clean

* docs: handle changelog page

* docs: add title

* docs: add subtitle

* docs: active header nav

* chore: code clean

* docs: overview

* chore: code clean

* docs: update intl (#37918)

* docs: update intl

* chore: code clean

* docs: update favicons

* chore: update testPathIgnorePatterns

* chore: code clean

* chore: code clean

* chore: copy 404.html (#37996)

* docs: Home page theme picker

* chore: Update migrate script

* docs: home page update

* docs: theme editor style

* docs: theme lang

* chore: update migrate.js

* docs: fix demo (#38094)

* chore: update migrate.js

* docs: update md

* docs: update demo

* test: fix snapshot

* chore: move debug to code attr in migrate script

* chore: update md

Co-authored-by: PeachScript <scdzwyxst@gmail.com>

* feat: overview page

* feat: Migrate `404` page (#38118)

* feat: migrate IconSearch component (#37916)

* feat<site/IconSearch>: copy IconDisplay from site to .dumi

* feat<site/IconSearch>: change docs of icon

* feat<site/IconSearch>: tweak

* feat<site/IconSearch>: use useIntl instead of injectIntl

* feat<site/IconSearch>: fix ts type error

* feat<site/IconSearch>: use intl.formatMessage to render text

* docs: Adjust home btn sizw

* docs: Update doc

* feat: v5 site overview page (#38131)

* feat: site

* fix: fix

* feat: v5 site overview page

* fix: fix path

* fix: fix

* fix: fix

* docs: fix margin logic

* feat: v5 site change-log page (#38137)

* feat: v5 site change-log page (#38162)

* docs: site redirect to home pag

* docs: theme picker

* docs: use react-intl from dumi (#38183)

* docs: Theme Picker

* docs: update dumi config

* docs: home back fix

* docs: picker colorful

* docs: locale of it

* docs: update components desc

* docs: site of links

* docs: update components list

* docs: update desc

* feat: Migrate `DemoWrapper` component (#38166)

* feat: Migrate `DemoWrapper` component

* feat: remove invalid comments and add comment for `key` prop

* docs: FloatButton pure panel

* chore: update demo

* chore: update dumi config

* Revert "chore: update demo"

This reverts commit 028265d3ba.

* chore: test logic adjust to support cnpm modules

* chore: add locale alias

* docs: /index to /

* docs: add locale redirect head script

* chore: adjust compact

* docs: fix missing token

* feat: compact switch

* chore: code clean

* docs: update home

* docs: fix radius token

* docs: hash of it

* chore: adjust home page

* docs: Add background map

* docs: site theme bac logic

* docs: avatar

* docs: update logo color

* docs: home banner

* docs: adjust tour size

* docs: purepanl update

* docs: transfooter

* docs: update banner gif

* docs: content (#38361)

* docs: title & EditButton

* docs: content

* chore: fix toc

* docs: resource page

* docs: transform resource data from hast

* docs: filename & Resource Card

* chore: enable prerender

* chore: remove less

* docs: toc style

* chore: fix lint

* docs: fix Layout page

* docs: fix CP page

* chore: update demos

* docs: workaround for export dynamic html

* chore: enable demo eslint

* docs: table style

* fix: header shadow

* chore: update snapshot

* fix: toc style

* docs: add title

* docs: Adjust site

* feat: helmet

* docs: site css

* fix: description

* feat: toc debug

* docs: update config-provider

* feat: use colorPanel

* fix: colorPanel value

* feat: anchor ink ball style

* feat: apply theme editor

* fix: code block style

* chore: update demo

* chore: fix lint

* chore: code clean

* chore: update snapshot

* feat: ts2js

* chore: description

* docs: site ready for ssr

includes:
- move client render logic to useEffect in site theme
- extract antd cssinjs to a single css file like bisheng
- workaround to support react@18 pipeableStream for emotion

* chore: bump testing lib

* docs: font size of title

* chore: remove react-sortable-hoc

* chore: update snapshot

* chore: update script

Co-authored-by: PeachScript <scdzwyxst@gmail.com>
Co-authored-by: MadCcc <1075746765@qq.com>
Co-authored-by: zqran <uuxnet@gmail.com>
Co-authored-by: TrickyPi <530257315@qq.com>
Co-authored-by: lijianan <574980606@qq.com>
2022-11-09 12:28:04 +08:00

8.5 KiB
Raw Blame History

category group title cover demo
Components Data Entry TreeSelect https://gw.alipayobjects.com/zos/alicdn/Ax4DA0njr/TreeSelect.svg
cols
2

Tree selection control.

When To Use

TreeSelect is similar to Select, but the values are provided in a tree like structure. Any data whose entries are defined in a hierarchical manner is fit to use this control. Examples of such case may include a corporate hierarchy, a directory structure, and so on.

Examples

Basic Multiple Selection Generate from tree data Checkable Asynchronous loading Show Tree Line Placement Status Suffix _InternalPanelDoNotUseOrYouWillBeFired

API

Tree props

Property Description Type Default Version
allowClear Whether allow clear boolean false
autoClearSearchValue If auto clear search input value when multiple select is selected/deselected boolean true
bordered Whether has border style boolean true
defaultValue To set the initial selected treeNode(s) string | string[] -
disabled Disabled or not boolean false
popupClassName The className of dropdown menu string - 4.23.0
dropdownMatchSelectWidth Determine whether the dropdown menu and the select input are the same width. Default set min-width same as input. Will ignore when value less than select width. false will disable virtual scroll boolean | number true
dropdownRender Customize dropdown content (originNode: ReactNode, props) => ReactNode -
dropdownStyle To set the style of the dropdown menu CSSProperties -
fieldNames Customize node label, value, children field name object { label: label, value: value, children: children } 4.17.0
filterTreeNode Whether to filter treeNodes by input value. The value of treeNodeFilterProp is used for filtering by default boolean | function(inputValue: string, treeNode: TreeNode) (should return boolean) function
getPopupContainer To set the container of the dropdown menu. The default is to create a div element in body, you can reset it to the scrolling area and make a relative reposition. example function(triggerNode) () => document.body
labelInValue Whether to embed label in value, turn the format of value from string to {value: string, label: ReactNode, halfChecked: string[]} boolean false
listHeight Config popup height number 256
loadData Load data asynchronously function(node) -
maxTagCount Max tag count to show. responsive will cost render performance number | responsive - responsive: 4.10
maxTagPlaceholder Placeholder for not showing tags ReactNode | function(omittedValues) -
multiple Support multiple or not, will be true when enable treeCheckable boolean false
notFoundContent Specify content to show when no result matches ReactNode Not Found
placeholder Placeholder of the select input string -
placement The position where the selection box pops up bottomLeft bottomRight topLeft topRight bottomLeft
searchValue Work with onSearch to make search value controlled string -
showArrow Whether to show the suffixIconwhen single selection mode, default true boolean -
showCheckedStrategy The way show selected item in box when treeCheckable set. Default: just show child nodes. TreeSelect.SHOW_ALL: show all checked treeNodes (include parent treeNode). TreeSelect.SHOW_PARENT: show checked treeNodes (just show parent treeNode) TreeSelect.SHOW_ALL | TreeSelect.SHOW_PARENT | TreeSelect.SHOW_CHILD TreeSelect.SHOW_CHILD
showSearch Support search or not boolean single: false | multiple: true
size To set the size of the select input large | middle | small -
status Set validation status 'error' | 'warning' - 4.19.0
suffixIcon The custom suffix icon,you must set showArrow to true manually in multiple selection mode ReactNode -
switcherIcon Customize collapse/expand icon of tree node ReactNode | ((props: AntTreeNodeProps) => ReactNode) - renderProps: 4.20.0
tagRender Customize tag render when multiple (props) => ReactNode -
treeCheckable Whether to show checkbox on the treeNodes boolean false
treeCheckStrictly Whether to check nodes precisely (in the checkable mode), means parent and child nodes are not associated, and it will make labelInValue be true boolean false
treeData Data of the treeNodes, manual construction work is no longer needed if this property has been set(ensure the Uniqueness of each value) array<{ value, title, children, [disabled, disableCheckbox, selectable, checkable] }> []
treeDataSimpleMode Enable simple mode of treeData. Changes the treeData schema to: [{id:1, pId:0, value:'1', title:"test1",...},...] where pId is parent node's id). It is possible to replace the default id and pId keys by providing object to treeDataSimpleMode boolean | object<{ id: string, pId: string, rootPId: string }> false
treeDefaultExpandAll Whether to expand all treeNodes by default boolean false
treeDefaultExpandedKeys Default expanded treeNodes string[] -
treeExpandAction Tree title open logic when click, optional: false | click | doubleClick string | boolean false 4.21.0
treeExpandedKeys Set expanded keys string[] -
treeIcon Shows the icon before a TreeNode's title. There is no default style; you must set a custom style for it if set to true boolean false
treeLoadedKeys (Controlled) Set loaded tree nodes, work with loadData only string[] []
treeLine Show the line. Ref Tree - showLine boolean | object false 4.17.0
treeNodeFilterProp Will be used for filtering if filterTreeNode returns true string value
treeNodeLabelProp Will render as content of select string title
value To set the current selected treeNode(s) string | string[] -
virtual Disable virtual scroll when set to false boolean true 4.1.0
onChange A callback function, can be executed when selected treeNodes or input value change function(value, label, extra) -
onDropdownVisibleChange Called when dropdown open function(open) -
onSearch A callback function, can be executed when the search input changes function(value: string) -
onSelect A callback function, can be executed when you select a treeNode function(value, node, extra) -
onTreeExpand A callback function, can be executed when treeNode expanded function(expandedKeys) -

Tree Methods

Name Description Version
blur() Remove focus
focus() Get focus

TreeNode props

We recommend you to use treeData rather than TreeNode, to avoid the trouble of manual construction.

Property Description Type Default Version
checkable When Tree is checkable, set TreeNode display Checkbox or not boolean -
disableCheckbox Disables the checkbox of the treeNode boolean false
disabled Disabled or not boolean false
isLeaf Leaf node or not boolean false
key Required property (unless using treeDataSimpleMode), should be unique in the tree string -
selectable Whether can be selected boolean true
title Content showed on the treeNodes ReactNode ---
value Will be treated as treeNodeFilterProp by default, should be unique in the tree string -

FAQ

How to get parent node in onChange?

We don't provide this since performance consideration. You can get by this way: https://codesandbox.io/s/wk080nn81k

Why sometime customize Option cause scroll break?

You can ref Select FAQ.