mobile-more
Version:
基于 antd-mobile v5 扩展移动端 UI 组件
64 lines (63 loc) • 2.04 kB
TypeScript
import React from 'react';
import { MaskProps } from 'antd-mobile';
import './AutoComplete.less';
import { ContainerType } from '../../../utils/getContainer';
interface AutoCompletePopupProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect'>, Pick<MaskProps, 'visible' | 'onMaskClick' | 'destroyOnClose'> {
/**
* @description 是否显示蒙层。
* @default true
*/
mask?: boolean;
/**
* @description 可选项。
*/
options?: string[];
/**
* @description 选择时触发。
* @param option 选中项。
* @returns
*/
onSelect?: (option: string) => void;
/**
* @description 浮层内容样式。
*/
bodyStyle?: React.CSSProperties;
/**
* @description 蒙层属性。透传给 `Mask` 组件。
*/
maskProps?: MaskProps;
/**
* @description 自定义容器。
*/
getContainer?: ContainerType;
}
export interface AutoCompleteProps extends Pick<AutoCompletePopupProps, 'mask' | 'visible' | 'maskProps' | 'options' | 'onSelect' | 'onMaskClick'> {
/**
* @description 浮层属性。
*/
popupProps?: AutoCompletePopupProps;
/**
* @description 值。
*/
value?: string;
/**
* @description 没有可选项时隐藏蒙层。
* @default false
*/
hideMaskOnEmpty?: boolean;
/**
* @description 是否根据输入项进行筛选。当其为一个函数时,会接收 `inputValue` `option` 两个参数,当 `option` 符合筛选条件时,应返回 `true`,反之则返回 `false`。
* @default true
*/
filterOption?: boolean | ((inputValue: string, option: string) => boolean);
/**
* @description 子内容。
*/
children: React.ReactNode;
/**
* @description 纯净模式。适用于自定义浮层容器方案。开启后,子内容不包裹容器,且没有显示时的样式。
*/
pure?: boolean;
}
declare const AutoComplete: React.FC<AutoCompleteProps>;
export default AutoComplete;