UNPKG

jamis

Version:

一种支持通过JSON配置方式生成页面的组件库

74 lines (73 loc) 3.13 kB
import React from 'react'; import type { ActionObject, Option } from 'jamis-core'; import type { ItemRenderStates, TreeCompRef, TreeDropInfo, TreeSelectProps } from '../types'; interface TreeSelectState { isOpened: boolean; inputValue: string; } declare class TreeRenderer extends React.Component<TreeSelectProps, TreeSelectState> { static defaultProps: Partial<TreeSelectProps>; treeRef: TreeCompRef; targetRef: React.RefObject<HTMLDivElement>; container: React.RefObject<HTMLDivElement>; input: React.RefObject<HTMLInputElement>; cache: { [propName: string]: any; }; /** 是否加载过一次 */ autoCompleteLoadOnce: boolean; /** 在loading的时候, 是否保留dom */ keepTreeDOM: boolean; /** 标识已经发送了change事件的值 */ valueEmitedChangeEvent: any; constructor(props: TreeSelectProps); componentDidMount(): void; componentDidUpdate(prevProps: Readonly<TreeSelectProps>, prevState: Readonly<TreeSelectState>): void; open(fn?: () => void): void; close(): void; handleFocus: (e: any) => void; handleBlur: (e: any) => void; handleKeyPress: (e: React.KeyboardEvent) => void; validate(): any; removeItem(index: number, e?: React.MouseEvent<HTMLElement>): void; handleChange: (value: any, changedOption?: Option) => Promise<boolean>; handleInputChange: (value: string) => void; handleInputKeyDown: (event: React.KeyboardEvent) => void; handleSort: (parent: Option | undefined, index: number, mode: "desc" | "asc") => void; /** * 处理拖拽移动节点 */ handleMove: (dropInfo: TreeDropInfo) => Promise<void>; clearValue(): void; /** * 计算出过滤后的项 */ getFilteredOptions: () => Option[]; loadRemote(input: string): Promise<{ options: Option[]; } | undefined>; mergeOptions(options: Array<object>): Option[]; reload(): void; handleOutClick: (e: React.MouseEvent<any>) => void; handleResultChange: (value: Array<Option>, changedOption?: Option) => void; doAction(action: ActionObject, data: any, throwErrors: boolean): any; resultChangeEvent: (value: any, changedOption?: Option) => Promise<boolean>; renderItem: (item: Option) => any; /** * 以树状样式渲染选中的项 */ renderSelectedItemAsTree: (item: Option, onRemove: (ev: React.MouseEvent, item: Option) => void) => JSX.Element; renderSelectedItems: (selectedItems: Option[]) => JSX.Element[] | Option[]; domRef(ref: TreeCompRef): void; renderOptionItem: (option: Option, states: ItemRenderStates) => JSX.Element; dispatchTreeEvent: (eventName: "click" | "sort-asc" | "sort-desc", value: Record<string, any>) => Promise<boolean>; calcPlaceholder: (useAutoComplete: boolean) => string; renderChild: (region: string, schema: any, childProps?: Record<string, any>) => JSX.Element; renderOuter(): JSX.Element; render(): JSX.Element; } export declare class TreeSelectControlRenderer extends TreeRenderer { } export declare class TreeControlRenderer extends TreeRenderer { } export {};