ant-design-vue/types/cascader.d.ts

210 lines
4.4 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

// 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;
label?: any;
disabled?: boolean;
children?: any;
key?: string;
}
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 string[]
*/
defaultValue: string[];
/**
* 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 builtinPlacementsbottomLeft 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 string[]
*/
value: string[];
/**
* remove focus
*/
blur(): void;
/**
* get focus
*/
focus(): void;
}