搜索表单
搜索表单包含输入框、单选框、下拉选择、多选框等用户输入组件,用于收集数据并执行过滤搜索。
布局
按钮样式
无保存条件
过滤
自动搜索
高级搜索
搜索表单事件
搜索表单项事件
搜索表单能力
输入参数
名称 | 说明 | 类型 | 默认值 |
---|---|---|---|
modelData | 搜索表单模型数据 | Object as IDESearchForm | - |
context | 应用上下文对象 | Object as IContext | - |
params | 视图参数对象 | Object as IParams | {} |
provider | 部件适配器 | Object as IControlProvider | - |
isSimple | 是否是简单模式,即直接传入数据,不加载数据 | Boolean | - |
data | 简单模式下传入的数据 | Object as IData | - |
loadDefault | 是否默认加载数据 | Boolean | true |
状态
名称 | 说明 | 类型 | 默认值 |
---|---|---|---|
isCreated | 控制器是否走完created生命周期 | boolean | false |
isMounted | 控制器是否走完mounted生命周期 | boolean | false |
isDestroyed | 控制器是否走完destroy生命周期 | boolean | false |
context | 应用上下文对象 | IApiContext | {} |
activated | 当前部件是否为激活状态(缓存下的激活状态,一般与框架的生命周期相同) | boolean | false |
isSimple | 是否是简单模式,简单模式下不加载数据,而是由父组件传值 | boolean | false |
isLoading | 部件是否正在加载 | boolean | false |
loadDefault | 是否默认加载数据 | boolean | true |
disabled | 部件禁用状态 | boolean | false |
maskOption | 部件遮罩参数 | IApiMaskOption | - |
isLoaded | 是否加载完数据 | boolean | false |
data | 表单数据 | IApiData | {} |
processing | 是否正在处理中(动态控制,值规则,表单项更新等逻辑中) | boolean | false |
modified | 是否被修改过 | boolean | false |
activeTab | 当前激活分页 | string | - |
formIsDestroyed | 表单是否销毁(UI) | boolean | false |
simpleDataIndex | 简单模式数据索引 | number | 0 |
enableStoredFilters | 是否启用存储过滤条件 | boolean | true |
storedFilters | 存储的过滤条件集合 | IApiStoredFilter[] | [] |
控制器
名称 | 说明 | 类型 |
---|---|---|
id | 控制器实例的唯一标识,创建时自动生成 | string |
state | 状态对象,泛型 | S |
model | 模型对象,泛型 | T |
context | 应用上下文对象 | IApiContext |
params | 视图参数对象 | IApiParams |
view | 当前视图控制器 | IApiViewController & IApiData |
ctrlId | 部件标识 | string |
controlParams | 部件参数 | IApiParams |
layoutPanel | 部件布局面板控制器 | IApiViewLayoutPanelController & IApiData |
runMode | 运行模式(DESIGN:设计模式,RUNTIME:运行时) | 'DESIGN' | 'RUNTIME' |
details | 所有表单项成员的控制器 | { [key: string]: IApiFormDetailController } |
formItems | 表单项控制器集合 | IApiFormDetailController[] |
formMDCtrls | 表单多数据部件控制器集合 | IApiFormMDCtrlController[] |
formDruipart | 表单关系界面控制器集合 | IApiFormDruipartController[] |
force | 强制更新,触发render函数 | (_callback?: () => void) => void |
startLoading | 开始加载 | () => Promise<void> |
endLoading | 加载完毕 | () => Promise<void> |
getControlType | 获取部件类型 | () => string |
enable | 取消部件禁用 | () => void |
disabled | 设置部件禁用 | (options?: IApiMaskOption) => void |
emitDEDataChange | 触发实体数据变更的通知 | (type: 'create' | 'update' | 'remove', data: IApiData) => void |
getData | 获取表单数据 | () => IApiData[] |
getReal | 获取原始实体数据 | () => IApiData[] |
refresh | 刷新当前部件 | () => Promise<void> |
changeCollapse | 切换折叠 | (params?: { tag?: string; expand?: boolean }) => void |
setActiveTab | 设置表单激活分页 | (name: string) => void |
setDataValue | 设置表单数据 | (name: string, value: unknown, ignore?: boolean) => Promise<void> |
setDetailError | 设置指定项错误提示 | (name: string, message: string) => void |
validate | 表单校验 | () => Promise<boolean> |
silentValidate | 表单静默校验 | () => Promise<boolean> |
getFormDetail | 获取表单成员 | (type: K, id: string) => IApiFormDetailMapping[K] |
getSimpleDataIndex | 获取简单模式下当前表单的数据索引 | () => number |
load | 加载数据 | () => Promise<IApiData> |
getFilterParams | 获取搜索表单的过滤参数 | () => IApiParams |
search | 执行搜索行为 | () => Promise<void> |
reset | 重置 | () => Promise<void> |
storeFilter | 存储搜索条件 | (name: string) => Promise<void> |
applyStoredFilter | 应用保存的过滤条件 | (index: number) => void |
removeStoredFilter | 删除保存的过滤条件 | (index: number) => Promise<void> |
事件
名称 | 描述 | 类型 |
---|---|---|
onCreated | 自身的准备工作完成(如模型加载,各种初始化,init结束) | {eventName:string, context:IApiContext, params:IApiParams, data:IApiData[], targetName:string, view:IApiViewController, ctrl:IApiControlController, [key: string]: any} |
onMounted | 没有下级组件created之后的生命周期,有下级时需要等所有下级组件onMounted完成后触发 | {eventName:string, context:IApiContext, params:IApiParams, data:IApiData[], targetName:string, view:IApiViewController, ctrl:IApiControlController, [key: string]: any} |
onBeforeDestroy | 组件销毁前 | {eventName:string, context:IApiContext, params:IApiParams, data:IApiData[], targetName:string, view:IApiViewController, ctrl:IApiControlController, [key: string]: any} |
onDestroyed | 自身组件被销毁时触发 | {eventName:string, context:IApiContext, params:IApiParams, data:IApiData[], targetName:string, view:IApiViewController, ctrl:IApiControlController, [key: string]: any} |
onActivated | 自身组件重新激活 | {eventName:string, context:IApiContext, params:IApiParams, data:IApiData[], targetName:string, view:IApiViewController, ctrl:IApiControlController, [key: string]: any} |
onDeactivated | 自身组件暂时停用 | {eventName:string, context:IApiContext, params:IApiParams, data:IApiData[], targetName:string, view:IApiViewController, ctrl:IApiControlController, [key: string]: any} |
onUIAction | 界面行为执行 | {eventName:string, context:IApiContext, params:IApiParams, data:IApiData[], targetName:string, view:IApiViewController, ctrl:IApiControlController, [key: string]: any} |
onRefreshSuccess | 刷新成功 | {eventName:string, context:IApiContext, params:IApiParams, data:IApiData[], targetName:string, view:IApiViewController, ctrl:IApiControlController, [key: string]: any} |
onFormDataChange | 表单数据变更事件 | {eventName:string, context:IApiContext, params:IApiParams, data:IApiData[], targetName:string, view:IApiViewController, ctrl:IApiControlController, [key: string]: any} |
onBeforeLoadDraft | 加载草稿前 | {eventName:string, context:IApiContext, params:IApiParams, data:IApiData[], targetName:string, view:IApiViewController, ctrl:IApiControlController, [key: string]: any} |
onLoadDraftSuccess | 加载草稿成功后 | {eventName:string, context:IApiContext, params:IApiParams, data:IApiData[], targetName:string, view:IApiViewController, ctrl:IApiControlController, [key: string]: any} |
onLoadDraftError | 加载草稿失败后 | {eventName:string, context:IApiContext, params:IApiParams, data:IApiData[], targetName:string, view:IApiViewController, ctrl:IApiControlController, [key: string]: any} |
onFormDetailEvent | 表单里的成员事件监听 | {eventName:string, context:IApiContext, params:IApiParams, data:IApiData[], targetName:string, view:IApiViewController, ctrl:IApiControlController, [key: string]: any} |
onSearch | 搜索事件 | {eventName:string, context:IApiContext, params:IApiParams, data:IApiData[], targetName:string, view:IApiViewController, ctrl:IApiControlController, [key: string]: any} |
openAdvanceSearch | 打开高级搜索 | {eventName:string, context:IApiContext, params:IApiParams, data:IApiData[], targetName:string, view:IApiViewController, ctrl:IApiControlController, [key: string]: any} |
控件动态参数
名称 | 说明 | 类型 | 默认值 |
---|---|---|---|
emptyhiddenunit | 表单项无值时,其对应的值单位(如'天'、'%'等)是否隐藏 | boolean | false |
enablestoredfilters | 设置为true的时候初始化时就会去加载保存的过滤条件,并将过滤条件附加在后续搜索行为的查询参数中 | boolean | true |
部件成员
类型 | 名称 | 接口 |
---|---|---|
BUTTON | 表单按钮 | IApiFormButtonController |
BUTTONLIST | 表单按钮组 | IApiFormButtonListController |
DRUIPART | 表单关系界面 | IApiFormDruipartController |
GROUPPANEL | 表单分组 | IApiFormGroupPanelController |
FORMITEM | 表单项 | IApiFormItemController |
MDCTRL_LIST | 表单多数据部件(列表) | IApiFormMDCtrlMDController |
MDCTRL_GRID | 表单多数据部件(表格) | IApiFormMDCtrlMDController |
MDCTRL_DATAVIEW | 表单多数据部件(卡片) | IApiFormMDCtrlMDController |
MDCTRL_FORM | 表单多数据部件(表单) | IApiFormMDCtrlFormController |
MDCTRL_REPEATER | 表单多数据部件(重复器) | IApiFormMDCtrlRepeaterController |
FORMPAGE | 表单分页 | IApiFormPageController |
RAWITEM | 表单直接内容 | IApiFormRawItemController |
TABPAGE | 表单分页部件分页 | IApiFormTabPageController |
TABPANEL | 表单分页部件 | IApiFormTabPanelController |