ukelli-ui
Version:
Base on React's UI lib. Make frontend's dev simpler and faster.
58 lines (57 loc) • 1.97 kB
TypeScript
import React from 'react';
import SelectorBasic, { SelectorBasicProps } from './selector';
import { DropdownWrapperProps } from './dropdown-wrapper';
declare const positionList: ["button", "top", "left", "right", "button,left", "button,right", "top,left", "top,right"];
export declare type DropdownPosition = (typeof positionList)[number];
export interface DropdownMenuProps extends SelectorBasicProps, DropdownWrapperProps {
/** 给 dropdownMenu 的 class */
className?: string;
/** 监听滚动时隐藏的外层元素 */
scrollElem?: () => HTMLElement;
/** 是否渲染在 react root 之外 */
outside?: boolean;
/** 是否返回 number 类型的值 */
isNum?: boolean;
/** 是否带搜索输入 */
withInput?: boolean;
/** 是否需要清除选择的按钮 */
needAction?: boolean;
/** 是否多选 */
isMultiple?: boolean;
/** 传入 dropdownMenu 的 style */
style?: React.CSSProperties;
/** 没有值时显示的 title */
defaultTitle?: string;
/** 无效值的显示 */
invalidTip?: string;
/** 取消的 title */
cancelTitle?: string;
/** 弹出的位置,用 , 分隔,最多支持两个不冲突位置,如果冲突,则选择第一个值 */
position?: DropdownPosition;
/** 点击菜单的回调 */
onClickItem?: (dataItem: any) => void;
}
/**
* 下拉菜单组件,带有输入搜索功能
*
* @export
* @class DropdownMenu
* @extends {SelectorBasic}
*/
export default class DropdownMenu extends SelectorBasic<DropdownMenuProps> {
static defaultProps: {
withInput: boolean;
needAction: boolean;
outside: boolean;
defaultTitle: string;
invalidTip: string;
cancelTitle: string;
position: string;
};
_error: boolean;
handleClick(dataItem: any, idx: any, callback: any): void;
getActiveTitle(): string;
getValuesLength(): number;
render(): JSX.Element;
}
export {};