设置AstroZero标准页面模态框组件
模态框作为一个模态对话框的容器,支持向模态框中拖入各种组件,用于在模态框弹出时,用户必须先响应模态框后,才能对其他对象进行操作的场景。
模态对话框功能:当一个模态对话框弹出时,用户想要对模态框以外的应用程序进行操作时,必须先对该对话框进行响应,例如单击“确定”或“取消”按钮等将该对话框关闭。
在标准页面设计界面,从“基本组件 > 布局”中,拖拽“模态框”组件至页面工作区域,如图1。
数据绑定
- 值绑定:值绑定类似vue中的v-model语法,组件上创建双向数据绑定。值绑定会根据组件类型,自动选取正确的方法来更新元素。同时,负责监视各类引起绑定数据变化的事件以更新数据。
- 在“数据绑定”中,单击“值(value)绑定”中的,进入选择模型页面。
- 单击“新增模型”,进入新增模型页面。
- 设置模型名称与来源,单击“下一步”。
图2 定义模型
AstroZero支持自定义、对象、服务和事件四类模型,每类模型都包含参数定义和方法定义。方法是在模型上定义的API,通常会在前台组件关联的事件脚本(例如页面加载事件、鼠标单击事件)中调用这些API,以实现某些功能。
表1 模型来源说明 分类
模型说明
模型参数的定义
模型方法的定义
API调用方法
自定义
开发者自行定义的模型。
由开发者自定义,可以添加子节点。
开发者自定义方法。
$model.ref("modelName").actionName();
对象
由Object对象表映射生成,关于对象模型的详细介绍,请参见对象。
系统自动获取Object所有的字段,开发者可以从中选择部分字段作为参数。
系统自动生成查询、保存、删除和统计四个方法。
$model.ref("modelName").query(param);
$model.ref("modelName").save();
$model.ref("modelName").delete();
$model.ref("modelName").count();
服务
参数根据后台服务的入参、出参,映射生成为inputParam和outputParam节点。
系统自动生成run方法 ,用于执行模型关联的服务编排或脚本。
$model.ref("modelName").run();
事件
事件模型由后台事件的字段映射生成,并且支持websocket刷新模型数据。
参数根据后台事件的字段映射生成。
直接使用
直接使用
除了在模型中定义的方法,低代码平台还提供了如下标准API,适用于所有的模型。
- 获取模型数据:$model.ref("modelName").getData();
- 设置模型数据:$model.ref("modelName").setData();
- 设置模型字段值:$model.ref("modelName").setValue(key,value);
- 在新建模型“设置”页面,执行如下操作。
- 上一步来源选择“自定义”,需要添加子节点自定义参数及类型。
- 上一步来源选择“对象”,需要配置模型关联的对象以及字段。
- 上一步来源选择“服务”,需要配置模型关联的后台服务,可以是脚本、服务编排或者公共接口。
- 上一步来源选择“事件”,需要配置模型关联的事件以及事件字段。
- 单击“下一步”,设置方法。
- 设置完成后,单击“确定”。
- 属性值绑定:将容器组件的某个属性,如隐藏、样式、弹性布局等与具体的模型字段相绑定,绑定后组件的属性随模型字段的值变化而变化,类似Vue的v-bind。
- 在“数据绑定”中,单击“属性值绑定”后的“+”。
- 在“属性”下拉框中,选择容器的某个属性。
- 在模型字段中,单击,进入选择模型页面。
- 单击“新增模型”,进入新增模型页面。
- 设置模型名称与来源,单击“下一步”。
AstroZero支持自定义、对象、服务和事件四类模型,每类模型都包含参数定义和方法定义。方法是在模型上定义的API,通常会在前台组件关联的事件脚本(例如页面加载事件、鼠标单击事件)中调用这些API,以实现某些功能。详细介绍,请参见表1。图3 定义模型
基本属性
- 标题:模态框的标题。
- 确定按钮文字:模态框的“确定”按钮上的文字。
- 取消按钮文字:模态框的“取消”按钮上的文字。
- 显示Loading:开启后,确定按钮显示loading状态。
- 显示遮罩层:开启后,显示遮罩层。
- 点击遮罩层关闭:开启后,允许单击模态框外的遮罩层关闭模态框。关闭后,必须先对该模态框进行响应,才能将该模态框关闭,例如单击模态框中的按钮(“确定”、“取消”)以及图标。
- 可拖动:开启后,该容器可拖动。
- 不显示底部:开启后,隐藏“确认”和“取消”按钮区域。
- 显示取消按钮:开启后,显示取消按钮。
- 确定按钮在前:开启后,确认按钮在前。
- 确定按钮禁用:开启后,确认按钮被禁用。
- 懒加载:开启后,弹框不打开不渲染,以提高性能。
移动端设置
- 弹出位置:模态框在移动端的显示位置。
- 关闭按钮:是否显示关闭按钮。
公共
在
中,可以自定义当前组件的名称。样式
- 模态框宽高:设置模态框的宽度、高度等。
如果模态框高度太大,无法正常显示,可在页面的“样式代码”里添加以下样式代码,即先在样式代码里设置滚动条,然后再将高度改小,如图4所示。
.ivu-modal-body { overflow:auto; }
- 高级设置 > 样式类:当前组件使用的CSS样式类名,可在CSS代码中进行引用。