import React from 'react'; import XBaseDisplay, { XBaseDisplayProps } from "../base/XBaseDisplay"; import Tree, { TreeProps } from "./tree/Tree"; import Pull from "./list/Pull"; import XFilterView from "./table/XFilterView"; export interface XTreeProps extends XBaseDisplayProps, TreeProps { /** * 是否树的全部数据 */ isTreeAllData?: boolean; /** * 允许加载后自动刷新,默认true */ allowAutoRefresh?: boolean; /** * 自定义Render */ itemRender?: (item: object) => React.ReactNode; /** * 显示字段 */ displayField?: string; /** * 可选择 */ isCheck?: boolean; /** * 显示搜索 */ showSearch?: boolean; /** * 附加操作按钮 */ extraButtons?: React.ReactNode; /** *搜索列 */ visibleColumns?: any[]; /** * 处理服务器返回列 * @param cols */ onServerColumn?: (cols: []) => []; /** * 长按事件 * @param item * @param target */ onItemLongClick?: (item: object, target: HTMLElement) => void; } /** * 显示一个树状结构的列表 * @name 树组件 * @groupName 列表显示 */ export default class XTree extends XBaseDisplay { static ComponentName: string; static defaultProps: { allowAutoRefresh: boolean; styleType: string; hasBox: boolean; showBorder: any; overflow: string; boxStyle: {}; width: string; height: string; visible: boolean; grid: number[]; gridSpan: number[]; parent: string; pureRender: boolean; /** * 显示一个树状结构的列表 * @name 树组件 * @groupName 列表显示 */ dataSourceUrl: string; filterData: {}; mustHasFilter: boolean; }; constructor(props: XTreeProps); componentDidMount(): Promise; GetRow(key: any): any; findRow(data: any, key: any): any; SetCheckStateAll(checked: any): void; SetExpandedRowKeys(expandedRowKeys?: any[]): void; GetExpandedRowKeys(): any; ExpandTree(key: any): void; Refresh(filter?: any, isnew?: boolean, refreshing?: number): Promise; RefreshTree(): Promise; validateData(data?: any[]): any[]; formatColumns(visibleColumns: any): any[]; tree?: Tree; showSearchModal(): void; SetColumns(cols: any, reset?: boolean): void; SetFilterCond(filterConds: any): void; LoadData(): void; ClearData(): void; rowChecked: {}; GetCheckedRows(): any[]; GetCheckedRowKeys(): any[]; SetCheckStateRowKeys(ids: any[], checked?: boolean): void; IsChecked(node: any): any; onCheckChange(node: any, checked: any): void; filterView: XFilterView; pull: Pull; renderNodes(nodes: any): any; renderDisplay(): React.JSX.Element; }