ukelli-ui
Version:
Base on React's UI lib. Make frontend's dev simpler and faster.
52 lines (51 loc) • 1.38 kB
TypeScript
/// <reference types="react" />
import { UkeComponent } from '../utils/uke-component';
export interface LinkDataStruct {
/** ID */
id: string;
/** title */
title: string;
/** value */
code: any;
/** 用于存储子内容 */
child?: LinkDataStruct[];
}
export interface LinkSelectorProps {
/** 总数据,可以通过 child 无限递归 */
data: LinkDataStruct[];
/** onChange */
onChange: (changeVal: {}) => void;
/** data 的具体 key 的 mapper */
mappers?: {
child: string;
code: string;
title: string;
icon?: string;
};
}
interface State {
selectedIndexMap: number[];
selectedItems: any[];
}
export default class LinkSelector extends UkeComponent<LinkSelectorProps, State> {
static defaultProps: {
mappers: {
child: string;
code: string;
title: string;
icon: string;
};
};
extendsDOM: any[];
activeItems: any[];
dropWrapper: any;
constructor(props: any);
itemMapFilter: (item: any) => any;
getMenuLinkerDOM: (options: any) => JSX.Element;
selectItem: (foldIdx: any, activeIdx: any) => void;
getAllSet: (initDataList: any) => any[] | undefined;
getSelectedTitle: () => string | JSX.Element;
saveDropWrapper: (e: any) => void;
render(): JSX.Element;
}
export {};