mirror of
https://gitee.com/ant-design/ant-design.git
synced 2024-12-02 12:09:14 +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 028265d3ba5987df5f13c3e9d42cf76cb1812b2e. * 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>
6.5 KiB
6.5 KiB
category | group | title | cover | demo | ||
---|---|---|---|---|---|---|
Components | Data Entry | Cascader | https://gw.alipayobjects.com/zos/alicdn/UdS8y8xyZ/Cascader.svg |
|
Cascade selection box.
When To Use
- When you need to select from a set of associated data set. Such as province/city/district, company level, things classification.
- When selecting from a large data set, with multi-stage classification separated for easy selection.
- Chooses cascade items in one float layer for better user experience.
Examples
Basic
Default value
Custom trigger
Hover
Disabled option
Change on select
Multiple
ShowCheckedStrategy
Size
Custom render
Search
Load Options Lazily
Custom Field Names
Custom Icons
Custom dropdown
Placement
Status
_InternalPanelDoNotUseOrYouWillBeFired
API
<Cascader options={options} onChange={onChange} />
Property | Description | Type | Default | Version |
---|---|---|---|---|
allowClear | Whether allow clear | boolean | true | |
autoFocus | If get focus when component mounted | boolean | false | |
bordered | Whether has border style | boolean | true | |
clearIcon | The custom clear icon | ReactNode | - | |
changeOnSelect | (Work on single select) Change value on each selection if set to true, see above demo for details | boolean | false | |
className | The additional css class | string | - | |
defaultValue | Initial selected value | string[] | number[] | [] | |
disabled | Whether disabled select | boolean | false | |
displayRender | The render function of displaying selected options | (label, selectedOptions) => ReactNode | label => label.join(/ ) |
multiple : 4.18.0 |
popupClassName | The additional className of popup overlay | string | - | 4.23.0 |
dropdownRender | Customize dropdown content | (menus: ReactNode) => ReactNode | - | 4.4.0 |
expandIcon | Customize the current item expand icon | ReactNode | - | 4.4.0 |
expandTrigger | expand current item when click or hover, one of click hover |
string | click |
|
fieldNames | Custom field name for label and value and children | object | { label: label , value: value , children: children } |
|
getPopupContainer | Parent Node which the selector should be rendered to. Default to body . When position issues happen, try to modify it into scrollable content and position it relative. example |
function(triggerNode) | () => document.body | |
loadData | To load option lazily, and it cannot work with showSearch |
(selectedOptions) => void | - | |
maxTagCount | Max tag count to show. responsive will cost render performance |
number | responsive |
- | 4.17.0 |
maxTagPlaceholder | Placeholder for not showing tags | ReactNode | function(omittedValues) | - | 4.17.0 |
notFoundContent | Specify content to show when no result matches | string | Not Found |
|
open | Set visible of cascader popup | boolean | - | 4.17.0 |
options | The data options of cascade | Option[] | - | |
placeholder | The input placeholder | string | Please select |
|
placement | Use preset popup align config from builtinPlacements | bottomLeft bottomRight topLeft topRight |
bottomLeft |
4.17.0 |
showSearch | Whether show search input in single mode | boolean | Object | false | |
size | The input size | large | middle | small |
- | |
status | Set validation status | 'error' | 'warning' | - | 4.19.0 |
style | The additional style | CSSProperties | - | |
suffixIcon | The custom suffix icon | ReactNode | - | |
value | The selected value | string[] | number[] | - | |
onChange | Callback when finishing cascader select | (value, selectedOptions) => void | - | |
onDropdownVisibleChange | Callback when popup shown or hidden | (value) => void | - | 4.17.0 |
multiple | Support multiple or not | boolean | - | 4.17.0 |
removeIcon | The custom remove icon | ReactNode | - | |
showCheckedStrategy | The way show selected item in box. ** SHOW_CHILD : ** just show child treeNode. Cascader.SHOW_PARENT : just show parent treeNode (when all child treeNode under the parent treeNode are checked) |
Cascader.SHOW_PARENT | Cascader.SHOW_CHILD |
Cascader.SHOW_PARENT |
4.20.0 |
searchValue | Set search value,Need work with showSearch |
string | - | 4.17.0 |
onSearch | The callback function triggered when input changed | (search: string) => void | - | 4.17.0 |
dropdownMenuColumnStyle | The style of the drop-down menu column | CSSProperties | - | |
loadingIcon | The apparence of lazy loading (now is useless) | ReactNode | - |
showSearch
Property | Description | Type | Default | Version |
---|---|---|---|---|
filter | The function will receive two arguments, inputValue and option, if the function returns true, the option will be included in the filtered set; Otherwise, it will be excluded | function(inputValue, path): boolean | - | |
limit | Set the count of filtered items | number | false | 50 | |
matchInputWidth | Whether the width of list matches input, (how it looks) | boolean | true | |
render | Used to render filtered options | function(inputValue, path): ReactNode | - | |
sort | Used to sort filtered options | function(a, b, inputValue) | - |
Option
interface Option {
value: string | number;
label?: React.ReactNode;
disabled?: boolean;
children?: Option[];
// Determines if this is a leaf node(effective when `loadData` is specified).
// `false` will force trade TreeNode as a parent node.
// Show expand icon even if the current node has no children.
isLeaf?: boolean;
}
Methods
Name | Description | Version |
---|---|---|
blur() | Remove focus | |
focus() | Get focus |