vuecssuiant-designantdreactantantd-vueenterprisefrontendui-designvue-antdvue-antd-uivue3vuecomponent
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
209 lines
4.5 KiB
209 lines
4.5 KiB
// Project: https://github.com/vueComponent/ant-design-vue |
|
// Definitions by: akki-jat <https://github.com/akki-jat> |
|
// Definitions: https://github.com/vueComponent/ant-design-vue/types |
|
|
|
import { AntdComponent } from './component'; |
|
import { VNode } from 'vue'; |
|
|
|
export interface CascaderOptionType { |
|
value?: string | number; |
|
label?: any; |
|
disabled?: boolean; |
|
children?: any; |
|
key?: string | number; |
|
} |
|
|
|
export interface ShowSearchType { |
|
/** |
|
* 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. |
|
* @type Function |
|
*/ |
|
filter?: (inputValue: any, path: any) => boolean; |
|
|
|
/** |
|
* Used to render filtered options, you can use slot="showSearchRender" and slot-scope="{inputValue, path}" |
|
* @type Function |
|
*/ |
|
render?: ({ inputValue, path }: { inputValue: any; path: any }) => VNode; |
|
|
|
/** |
|
* Used to sort filtered options. |
|
* @type Function |
|
*/ |
|
sort?: (a: any, b: any, inputValue: any) => any; |
|
|
|
/** |
|
* Whether the width of result list equals to input's |
|
* @type boolean |
|
*/ |
|
matchInputWidth?: boolean; |
|
|
|
/** |
|
* Set the count of filtered items |
|
* @type number | false |
|
*/ |
|
limit?: number | false; |
|
} |
|
|
|
export declare class Cascader extends AntdComponent { |
|
/** |
|
* whether allow clear |
|
* @default true |
|
* @type boolean |
|
*/ |
|
allowClear: boolean; |
|
|
|
/** |
|
* get focus when component mounted |
|
* @default false |
|
* @type boolean |
|
*/ |
|
autoFocus: boolean; |
|
|
|
/** |
|
* change value on each selection if set to true. |
|
* @default false |
|
* @type boolean |
|
*/ |
|
changeOnSelect: boolean; |
|
|
|
/** |
|
* initial selected value |
|
* @type Array<string | number> |
|
*/ |
|
defaultValue: Array<string | number>; |
|
|
|
/** |
|
* Whether disabled select |
|
* @default false |
|
* @type boolean |
|
*/ |
|
disabled: boolean; |
|
|
|
/** |
|
* render function of displaying selected options, you can use slot="displayRender" and slot-scope="{labels, selectedOptions}" |
|
* @default labels => labels.join(' / ') |
|
* @type Function |
|
*/ |
|
displayRender: ({ |
|
labels, |
|
selectedOptions, |
|
}: { |
|
labels: string[]; |
|
selectedOptions: CascaderOptionType[]; |
|
}) => VNode; |
|
|
|
/** |
|
* expand current item when click or hover, one of 'click' 'hover' |
|
* @default 'click' |
|
* @type string |
|
*/ |
|
expandTrigger: 'click' | 'hover'; |
|
|
|
/** |
|
* custom field name for label and value and children |
|
* @default { label: 'label', value: 'value', children: 'children' } |
|
* @type { value: string; label: string; children?: string; } |
|
*/ |
|
fieldNames: { |
|
value: string; |
|
label: string; |
|
children?: string; |
|
}; |
|
|
|
/** |
|
* 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. |
|
* @default () => document.body |
|
* @type Function |
|
*/ |
|
getPopupContainer: (triggerNode: any) => HTMLElement; |
|
|
|
/** |
|
* To load option lazily, and it cannot work with showSearch |
|
* @type Function |
|
*/ |
|
loadData: (selectedOptions: CascaderOptionType[]) => void; |
|
|
|
/** |
|
* Specify content to show when no result matches. |
|
* @default 'Not Found' |
|
* @type string |
|
*/ |
|
notFoundContent: string; |
|
|
|
/** |
|
* data options of cascade |
|
* @type CascaderOptionType |
|
*/ |
|
options: CascaderOptionType; |
|
|
|
/** |
|
* input placeholder |
|
* @default 'Please select' |
|
* @type string |
|
*/ |
|
placeholder: string; |
|
|
|
/** |
|
* additional className of popup overlay |
|
* @type string |
|
*/ |
|
popupClassName: string; |
|
|
|
/** |
|
* additional style of popup overlay |
|
* @type object |
|
*/ |
|
popupStyle: object; |
|
|
|
/** |
|
* use preset popup align config from builtinPlacements:bottomLeft bottomRight topLeft topRight |
|
* @default 'bottomLeft' |
|
* @type string |
|
*/ |
|
popupPlacement: 'bottomLeft' | 'bottomRight' | 'topLeft' | 'topRight'; |
|
|
|
/** |
|
* set visible of cascader popup |
|
* @type boolean |
|
*/ |
|
popupVisible: boolean; |
|
|
|
/** |
|
* Whether show search input in single mode. |
|
* @default false |
|
* @type boolean | ShowSearchType |
|
*/ |
|
showSearch: boolean | ShowSearchType; |
|
|
|
/** |
|
* input size, one of large default small |
|
* @default 'default' |
|
* @type string |
|
*/ |
|
size: 'large' | 'default' | 'small'; |
|
|
|
/** |
|
* The custom suffix icon |
|
* @type String | VNode | slot |
|
*/ |
|
suffixIcon: any; |
|
|
|
/** |
|
* selected value |
|
* @type Array<string | number> |
|
*/ |
|
value: Array<string | number>; |
|
|
|
/** |
|
* remove focus |
|
*/ |
|
blur(): void; |
|
|
|
/** |
|
* get focus |
|
*/ |
|
focus(): void; |
|
}
|
|
|