UNPKG

homehui

Version:

Vue3 二次封装基础组件文档

163 lines (158 loc) 5.82 kB
declare interface AnyObject { [key: string]: any; } /* TForm */ declare namespace FormTypes { interface FormOpts { ref: any; // 表单实例 labelPosition?: string; // label对齐方式 labelWidth?: string; // label宽度 btnSlotName?: string; // 按钮插槽名称 formData: AnyObject; // 表单数据 fieldList: FieldList[]; // 表单项 rules?: any; // 表单验证规则 listTypeInfo?: any; // 下拉框数据 operatorList?: OperatorList[]; // 操作按钮 } interface FieldList { isHideItem?: boolean; // 是否隐藏 label?: string; // label value?: string; // 字段名 labelSlotName?: string; // label插槽名称 labelRender?: (...ags: any[]) => any; // label render渲染 className?: string; // 表单项class isTrim?: boolean; // el-input 是否去除空格 rules?: any; // 表单项验证规则 widthSize?: number; // 表单项宽度 slotName?: string; // 表单输入框插槽名称 textShow?: boolean; // 是否文本展示 textValue?: string; // 文本展示值 isSelfCom?: boolean; // 是否自定义组件 type?: string; // 表单类型 ref?: string; // 表单组件实例 list?: string; // 下拉框数据变量名称 arrLabel?: string; // 下拉框label字段 arrKey?: string; // 下拉框value字段 event?: string; // 触发handleEvent事件的标识 comp?: any; // 组件名称 placeholder?: string; // 提示语 bind?: any; // 绑定数据(Objec or Function(formData)) width?: string; // 组件宽度 prepend?: string; // el-input输入框前置内容 append?: string; // el-input输入框后置内容 childSlotName?: string; // 子组件插槽名称 eventHandle?: AnyObject; // 事件处理函数 } interface OperatorList { label?: string; // 按钮名称 fun?: (val: any) => void; // 按钮点击事件 bind?: AnyObject; // 绑定数据 isHideBtn?: boolean; // 是否隐藏按钮 render?: (...ags: any[]) => any; // render函数 } } /* TQueryCondition */ declare namespace QueryTypes { interface Opts { [key: string]: { label: string; // 列名 comp: string; // 组件名 span?: number; // 表单栅格 bind?: any; // 绑定值 defaultVal?: any; // 默认值 isSelfCom?: boolean; // 是否是自定义组件 type?: string; // 组件类型 list?: string; // 下拉列表变量名 listTypeInfo?: any; // 下拉列表数据源 arrLabel?: string; // 下拉列表label arrKey?: string; // 下拉列表value eventHandle?: any; // 事件处理函数 }; }; } } /* TTable */ declare namespace TableTypes { interface Table { border?: boolean; // 是否显示边框 firstColumn?: any[] | AnyObject; // 第一列数据 rules?: AnyObject; // 表单验证规则 listTypeInfo?: any; // 字典过滤 operator?: any; // 操作按钮 operatorConfig?: AnyObject; // 操作列配置 currentPage?: Number; // 当前页码 pageSize?: Number; // 每页条数 total?: Number; // 总条数 layout?: string; // 分页布局 prevText?: string; // 上一页文本 nextText?: string; // 下一页文本 size?: string; // 分页尺寸 data: any[]; // 表格数据 columns: Columns[]; // 表格列 } interface Columns { prop?: string; // 列字段 label?: string; // 列标题 width?: string | number; // 列宽度 minWidth?: string | number; // 列最小宽度 align?: string; // 列对齐方式 fixed?: string; // 列固定 type?: string; // 列类型 sortable?: any; // 列是否可排序 sort?: any; // 列排序方式 isShowCol?: boolean | Function; // 列是否显示 isShowHidden?: boolean; bind?: AnyObject; // el-table-column 属性 headerRequired?: boolean; // 表头是否显示必填红点 renderHeader?: (...ags: any[]) => any; // 自定义表头 render?: (...ags: any[]) => any; // 自定义列内容 slotName?: string; // 自定义列内容插槽 canEdit?: boolean; // 是否可编辑 isClickEdit?: boolean; // 是否点击编辑 isShowEditIcon?: boolean; // 是否显示编辑图标 configEdit?: ConfigEdit; // 编辑配置 filters?: Filters; // 字典过滤 children?: any[]; // 子列 } interface Filters { list: string; // 字典列表 key: string; // 字典key label: string; // 字典label } interface ConfigEdit { rules?: any; // 校验规则 editSlotName?: string; // 编辑插槽 isSelfCom?: boolean; // 是否自定义组件 bind?: any; // 组件属性(Objec or Function) editComponent?: any; // 编辑组件 placeholder?: string; // 占位符 width?: string | number; // 编辑框宽度 type?: string; // 编辑框类型 prepend?: string; // el-input前缀 append?: string; // el-input后缀 ref?: string; // ref isShowTips?: boolean; // 是否显示tips label?: string; // label list?: string; // 下拉数据字段名称 arrLabel?: string; // 下拉数据label字段名称 arrKey?: string; // 下拉数据value字段名称 event?: string; // 触发handleEvent事件的标识 eventHandle?: any; // 事件处理 } } /* Vite */ declare type Recordable<T = any> = Record<string, T>; /* __APP_INFO__ */ declare const __APP_INFO__: { pkg: { name: string; version: string; dependencies: Recordable<string>; devDependencies: Recordable<string>; }; lastBuildTime: string; }; // Map声明全局变量 declare interface TypeMap { [key: string]: { type: string; val: string }; } declare module 'sortablejs';