@cainiaofe/cn-ui-m
Version:
96 lines (95 loc) • 2.15 kB
TypeScript
import type { BaseFieldPreviewProps, IRequestConfig } from "../../../types";
import { ICnCascaderSelectItem } from './cn-cascader-select-item';
import type { ReactNode } from 'react';
export interface CnCascaderSelectProps extends BaseFieldPreviewProps {
/**
* 数据源
*/
dataSource?: ICnCascaderSelectItem[];
/**
* 是否禁用
*/
disabled?: boolean;
/**
* 是否只读
*/
readOnly?: boolean;
/**
* 是否可清空
*/
hasClear?: boolean;
/**
* 默认值
*/
defaultValue?: any;
/**
* 受控值
*/
value?: any;
/**
* 是否多选
*/
multiple?: boolean;
/**
* 是否可搜索
*/
showSearch?: boolean;
/**
* 占位文案
*/
placeholder?: string;
/**
* 选中项展示的分隔符
*/
separator?: string;
/**
* 选择提示文案
*/
rootTipText?: string | ReactNode;
/**
* 尺寸
*/
size?: 'small' | 'medium' | 'large';
/**
* 自定义类名
*/
className?: string;
/**
* 抽屉容器类名
*/
drawerClassName?: string;
/**
* 数据变更的回调
*/
onChange?: (value?: string | string[], detail?: ICnCascaderSelectItem | ICnCascaderSelectItem[]) => void;
/**
* 点击子项异步加载数据
*/
loadData?: (detail: ICnCascaderSelectItem) => Promise<void>;
/**
* 点击节点事件
*/
onSelect?: (val: string | number, detail: ICnCascaderSelectItem) => void;
/**
* 自定义选中项的渲染事件
*/
renderContent?: (selectedList?: ICnCascaderSelectItem[], separator?: string) => string | ReactNode;
/**
* 内部变量,是否在 CnFilter quick 模式下使用
* @ignore 内部使用
*/
insideFilter?: boolean;
/**
* 用于标定是否存在于 Form 内(解决样式边距问题)
* @ignore 内部使用
*/
insideForm?: boolean;
/**
* 是否返回数组类型
*/
isArrayValue?: boolean;
/**
* 请求配置
*/
requestConfig?: IRequestConfig;
}