表单项逻辑
表单项逻辑是在表单值变更、点击、聚焦、失焦时执行的脚本代码。脚本代码为异步脚本,无返回值。
参数
名称 | 类型 | 描述 |
---|---|---|
ctrl | IApiControlController | 当前部件 |
view | IApiViewController | 当前视图 |
data | IApiData | 当前业务数据 |
params | IApiParams | 当前视图参数 |
context | IApiContext | 当前视图上下文 |
document | Document | 当前文档对象 |
selector | (className: string) => HTMLCollectionOf<Element> | 元素选择器 |
env | IEnvironment | 当前环境对象 |
appSession | IApiData | 当前应用会话对象 |
topViewSession | IApiData | 当前顶级视图会话对象 |
viewSession | IApiData | 当前视图会话对象 |
viewParam | IApiParams | |
app | IApiAppHubController | 当前应用 |
topView | IApiViewController | 当前顶级视图 |
parentView | IApiViewController | undefined | 当前父视图 |
parent | IApiViewController | undefined | 当前父视图 |
util | { message: IApiMessageUtil, notification: IApiNotificationUtil,modal: IApiModalUtil,confirm: IApiConfirmUtil,openView: IApiOpenViewUtil} | 工具集 |
调用示例
基于当前变更数据设置其他表单项的值
typescript
ctrl.details.productName.setDataValue(this.state.data[name])
基于当前变更数据设置其他表单项的状态
typescript
ctrl.details.test1.state.visible = this.state.data[name] === '张三';
ctrl.details.test2.state.disabled = this.state.data[name] === '李四';
ctrl.details.test3.state.required = this.state.data[name] === '王五';