设置AstroZero标准页面列表视图组件属性
列表视图是一个组合组件,可以灵活组合列表项的内容,并且根据实例化数据进行动态展示。
列表视图由上方列表区和下方的页码区组成。使用时,需要在“列表视图(List View)”上绑定数据模型,且数据类型必须为数组,如果要使用分页功能,分页组件需放在最外层“列表视图(List View Container)”内。
数据绑定
- 值绑定:值绑定类似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 定义模型
基本属性
向列表视图中,拖入某个组件,选中列表视图,可做如下设置:
- 无数据显示:无数据时,显示的名称。
图4 无数据显示
- 列数(PC):设置PC端显示列数。
- 列数(Mobile):设置移动端显示列数。
- 列数排列方式:选择列数排列方式,如居中、左对齐和右对齐等。
- 显示加载中:当要展示的内容较多时,用户看到页面内容可能需要稍长时间,开启加载中效果,体验会更好。
移动端配置
- 下拉刷新:下拉是否刷新列表。
- 默认数据条数:设置移动端列表视图,默认展示数据的数量。
- 显示加载文字:是否显示上拉加载文字。
- 异步加载:和事件(on-load-data)配合使用,上拉加载时,异步获取数据。
公共
- 控件名称:当前组件的名称。
- 隐藏:是否隐藏该组件,此方式为静态配置该组件的隐藏。还可以将该组件属性值“隐藏”配置为布尔类型模型字段,在自定义JS代码中来控制模型字段取值,从而设置该组件是否隐藏,这种动态设置优先级是最高的。
样式
针对有丰富前端开发经验的用户,可通过“样式”面板对页面进行更深度的个性化布局定制。
- 布局:对页面CSS属性进行直接配置,如设置组件的宽度、高度等。您也可以在“高级设置”中,直接编写CSS代码进行更深度的个性化布局定制。
- 单击“显示”属性后的按钮,可以快速指定当前元素布局为“block”、“inline-block”、“inline”和“flex”。
- “显示”属性下方展示了当前元素的盒模型示意图,在对应的数字位置单击并改变值,即可快速改变元素上下左右位置上的内外边距属性。
- 当前元素盒模型示意图下方,展示了当前元素的宽和高,默认是根据当前布局自适应后的宽高,可以在这里手动输入值配置当前元素的宽和高。
- 盒模型和宽高配置时,支持“px”、“em”、“%”、“auto”等多种单位。
图5 样式属性配置面板
- 字体:设置字体大小、字体样式、颜色等。
- 背景:设置背景颜色、透明度。
- 边框:设置边框颜色、宽度等,支持“px”、“em”和“%”三种单位。
- 阴影:设置阴影颜色、模糊、扩散等,支持“px”、“em”和“%”三种单位。
- 高级设置:在高级设置中,直接编写CSS代码作用于当前元素。
- 样式源码:组件具体样式代码,组件样式设置后,样式代码将自动显示在“样式源码”中。也可以自定义样式代码,对组件进行详细配置。自定义代码支持多行输入,并高亮显示样式参数。
- 样式类:当前组件使用的CSS样式类名,可在CSS代码中进行引用。