mirror of
https://github.com/ant-design/ant-design.git
synced 2024-12-11 23:00:20 +08:00
cbcfd38ca7
* 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>
8.5 KiB
8.5 KiB
category | group | title | cover | demo | ||
---|---|---|---|---|---|---|
Components | Data Entry | TreeSelect | https://gw.alipayobjects.com/zos/alicdn/Ax4DA0njr/TreeSelect.svg |
|
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 suffixIcon ,when 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 thanTreeNode
, 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.