import { GetComHelpTreeListRequest, GetComHelpTreeListResponse } from './api/getComHelpTreeList'; export type NodeData = NonNullable[number]; /** * 值类型 */ export interface HelpValue { /** 值 */ value: string; /** 显示标题 */ label: string; /** 数据源 */ origin?: NodeData; } /** * 基础 props */ export interface BaseHelpProps extends GetComHelpTreeListRequest { /** 回调显示字段 */ labelField?: string; /** 回填值字段 */ valueField?: string; /** 是否多选 */ multiple?: boolean; /** 顶部导航栏标题 */ title?: string; /** 选中值 */ value?: HelpValue[]; /** 确认回调 */ onOk?: (data: HelpValue[]) => void; /** 取消回调 */ onCancel?: () => void; } /** * 基础 State */ export interface BaseHelpState { /** 已选值 */ selectedValue: HelpValue[]; /** 关键字搜索 */ keywords: string; /** 面包屑数据 */ breadcrumbData: NodeData[]; } /** * 指令式调用参数 */ export type OpenHelpParams = Omit; /** * 指令式调用返回 */ export type OpenHelpReturn = Promise; /** * 表单公共 Props */ export interface PublicHelpProps { /** 禁用 */ disabled: boolean; /** 空值提示 */ placeholder: string; /** 打开帮助之前的钩子,若返回 false 则停止打开 */ onBeforeOpen: () => boolean | Promise; } /** * 表单单选 Props */ export interface SingleHelpProps extends Partial, Omit { /** 已选值 */ value: HelpValue; /** 变动回调 */ onChange: (val: HelpValue | null) => void; } /** * 表单多选 Props */ export interface MultipleHelpProps extends Partial, Omit { /** 已选值 */ value: HelpValue[]; /** 变动回调 */ onChange: (val: HelpValue[]) => void; }