@alifd/next
Version:
A configurable component library for web built on React.
102 lines (81 loc) • 1.82 kB
TypeScript
/// <reference types="react" />
import * as React from "react";
interface HTMLAttributesWeak extends React.HTMLAttributes<HTMLElement> {
defaultValue?: any;
onChange?: any;
}
export interface CascaderProps extends HTMLAttributesWeak {
/**
* 数据源,结构可参考下方说明
*/
dataSource?: Array<any>;
/**
* (非受控)默认值
*/
defaultValue?: string | Array<any>;
/**
* (受控)当前值
*/
value?: string | Array<any>;
/**
* 选中值改变时触发的回调函数
*/
onChange?: (
value: string | Array<any>,
data: {} | Array<any>,
extra: {}
) => void;
/**
* (非受控)默认展开值,如果不设置,组件内部会根据 defaultValue/value 进行自动设置
*/
defaultExpandedValue?: Array<any>;
/**
* (受控)当前展开值
*/
expandedValue?: Array<any>;
/**
* 展开触发的方式
*/
expandTriggerType?: "click" | "hover";
/**
* 展开时触发的回调函数
*/
onExpand?: (expandedValue: Array<any>) => void;
/**
* 是否开启虚拟滚动
*/
useVirtual?: boolean;
/**
* 是否多选
*/
multiple?: boolean;
/**
* 单选时是否只能选中叶子节点
*/
canOnlySelectLeaf?: boolean;
/**
* 多选时是否只能选中叶子节点
*/
canOnlyCheckLeaf?: boolean;
/**
* 父子节点是否选中不关联
*/
checkStrictly?: boolean;
/**
* 每列列表样式对象
*/
listStyle?: {};
/**
* 每列列表类名
*/
listClassName?: string;
/**
* 每列列表项渲染函数
*/
itemRender?: (data: {}) => React.ReactNode;
/**
* 异步加载数据函数
*/
loadData?: (data: {}, source: {}) => void;
}
export default class Cascader extends React.Component<CascaderProps, any> {}