实体界面行为
视图界面行为常用于工具栏点击,可配置脚本代码实现业务逻辑,脚本代码为异步脚本。
参数
名称 | 类型 | 描述 |
---|---|---|
context | IApiContext | 当前视图上下文 |
params | IApiParams | 当前视图参数 |
data | IApiData[] | 当前数据 |
el | Element | undefined | null | 当前元素 |
view | IApiViewController | 当前视图 |
ctrl | IApiControlController | 当前部件 |
document | Document | 当前文档对象 |
selector | (className: string) => HTMLCollectionOf<Element> | 元素选择器 |
env | IApiData | 当前环境对象 |
appSession | IApiData | 当前应用会话对象 |
topViewSession | IApiData | 当前顶级视图会话对象 |
viewSession | IApiData | 当前视图会话对象 |
viewParam | IApiParams | |
topView | IApiViewController | 当前顶级视图 |
parentView | IApiViewController | undefined | 当前父视图 |
parent | IApiViewController | undefined | 当前父视图 |
util | { message: IApiMessageUtil, notification: IApiNotificationUtil,modal: IApiModalUtil,confirm: IApiConfirmUtil,openView: IApiOpenViewUtil} | 工具集 |
调用示例
获取当前视图的表单控制器
typescript
const form = view.getCtrl("FORM", "form");
根据上下文控制 grid 面板项显示状态并保持保活
typescript
// 等同于 view.layoutPanel.panelItems.grid
const grid = view.layoutPanel.findPanelItemByName('grid');
grid.state.visible = !!view.context.srfshowchoose;
grid.state.keepAlive = true;
给当前视图面板项标识为 total 设置值 20
typescript
uiLogic.view.layoutPanel.setDataValue("total", 20);
跨页面通知产品实体数据变更
typescript
// 其中product 表示产品实体代码名小写,必须有srfdecodename字段,
ibiz.mc.command.update.send({ srfdecodename: 'product',productid:'xxx',productname:'yyy' })
打开视图
typescript
ibiz.commands.execute(
'ibiz.app-view.open',
'project_tree_exp_view',
context,
{},
{},
);