更新时间:2024-08-20 GMT+08:00
分享

设置AstroZero标准页面容器组件属性

标准页面提供了流式布局(Flow Layout)和弹性布局(Flex Layout),标准页面的基础布局主要是通过“容器”组件实现的。

容器组件就是基础的布局容器,可以将其理解为CSS中DIV的概念。DIV是层叠样式表中的定位技术,全称Division,即为划分,有时可以称其为图层。 DIV是HTML中的一个标签元素,用来为HTML文档内大块的内容提供结构和背景的元素,可以将“容器”简单理解为画布,通过设置外层画布的属性达到控制内容布局的效果。

图1 容器组件

数据绑定

将容器组件的某个属性,如隐藏、样式、弹性布局等与具体的模型字段相绑定,绑定后组件的属性随模型字段的值变化而变化,类似Vue的v-bind。

  1. “数据绑定”中,单击“属性值绑定”后的“+”

    图2 单击添加图标

  2. “属性”下拉框中,选择容器的某个属性。
  3. 在模型字段中,单击,进入选择模型页面。

    图3 选择设置图标

  4. 单击“新增模型”,进入新增模型页面。
  5. 设置模型名称与来源,单击“下一步”。

    图4 定义模型

    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);

  6. 在新建模型“设置”页面,执行如下操作。

    • 如果上一步来源选择“自定义”,需要添加子节点自定义参数及类型。
    • 如果上一步来源选择“对象”,需要配置模型关联的对象以及字段。
    • 如果上一步来源选择“服务”,需要配置模型关联的后台服务,可以是脚本、服务编排或者公共接口。
    • 如果上一步来源选择“事件”,需要配置模型关联的事件以及事件字段。

  7. 单击“下一步”,设置方法。

    方法一般无需添加,如需添加或修改,可参考对象和服务默认生成的方法。

  8. 设置完成后,单击“确定”。

基本属性

  • 流式布局

    容器组件默认弹性布局未开启,处于流式布局的状态,如图5所示。

    图5 流式布局

    在流式布局中,组件默认为块级(Block)元素,即不论组件宽度是多少,默认占据全部父级元素的宽度。如图6所示,向画布中拖拽一个“容器”组件,再向“容器”组件中拖入两个“标题”组件,“标题”组件为块级元素,默认占据全部父级元素宽度,即外层“容器”的宽度,第二个“标题”组件会在第一个“标题”组件的下方。

    图6 流式布局中组件为块级元素

    流式布局中,组件由上至下依次排布,可以通过“水平对齐方式”对容器内组件进行水平位置调整,如图7图8所示。

    图7 居中水平对齐
    图8 靠右水平对齐
  • 弹性布局

    将“容器”组件属性面板中的“弹性布局”开启后,布局由流式布局切换到弹性布局。在弹性布局的属性配置中,会出现“排列方向”、“水平对齐方式”和“垂直对齐方式”,如图9所示。

    图9 弹性布局

    为了方便说明弹性布局,向画布中拖拽一个“容器”组件,再向“容器”组件中拖入五个“容器”组件,将每个“容器”组件的宽度和高度设置为100px,并为每个“容器”组件设置不同的背景颜色,在每个“容器”中加入一个“标题”组件,分别显示A、B、C、D、E。

    默认弹性布局下,排列方向为“行”,水平对齐方式为“起点对齐”,垂直对齐方式为“起点对齐”,如图10所示。

    图10 弹性布局默认效果

    排列方向属性决定了容器内组件的排列方向。当排列方向为“行”时,容器内组件从左到右排布。排列方向为“列”时,容器内组件从上到下排布,如图11

    图11 排列方向“列”

    水平排列方式属性,决定了容器主轴方向排列方式。当容器排列方向为“行”时,水平排列方式属性作用于水平方向。当容器排列方向为“列”时,水平排列方式属性作用于垂直方向。排列方向为行时起点为左,水平对齐方式选择“中间对齐”和“终点对齐”时,如图12图13所示。

    图12 水平对齐方式选择“中间对齐”
    图13 水平对齐方式选择“终点对齐”

    垂直排列方式属性决定了容器交叉轴方向排列方式。当容器排列方向为“行”时,垂直排列方式属性作用于垂直方向。容器排列方向为“列”时,垂直排列方式属性作用于水平方向。当容器排列方向为行时起点为上,垂直对齐方式选择“中间对齐”和“终点对齐”时,如图14图15所示。

    图14 垂直对齐方式选择“中间对齐”
    图15 垂直对齐方式选择“终点对齐”

    通过对弹性布局属性的不同组合配置,实现用户想要实现的布局效果。例如,将排列方向设置为“行”,水平对齐方式和垂直对齐方式设置成“中间对齐”,实现居中布局的效果,如图16所示。

    图16 弹性布局实现居中

移动端配置

  • 固定底部:开启后,在移动端预览页面时,容器组件在页面底部显示。
    图17 显示在页面底部
  • 固定顶部:开启后,在移动端预览页面时,容器组件在页面顶部显示。
    图18 显示在页面顶部
  • 按钮填满容器:开启后,在移动端预览页面时,按钮组件填满整个容器。
    图19 按钮填满容器
  • 按钮单行展示:开启后,在移动端预览页面时,按钮组件和其他组件在一行显示。
    图20 按钮单行展示

公共

  • 控件名称:设置容器组件在页面的显示名称。
  • 隐藏:预览标准页面时,是否隐藏容器组件。

样式

针对有丰富前端开发经验的用户,可通过“样式”面板对页面进行更深度的个性化布局定制。

  • 布局:对页面CSS属性进行直接配置,如设置组件的宽度、高度等。您也可以在“高级设置”中,直接编写CSS代码进行更深度的个性化布局定制。
    • 单击“显示”属性后的按钮,可以快速指定当前元素布局为“block”、“inline-block”、“inline”和“flex”。
    • “显示”属性下方展示了当前元素的盒模型示意图,在对应的数字位置单击并改变值,即可快速改变元素上下左右位置上的内外边距属性。
    • 当前元素盒模型示意图下方,展示了当前元素的宽和高,默认是根据当前布局自适应后的宽高,可以在这里手动输入值配置当前元素的宽和高。
    • 盒模型和宽高配置时,支持“px”、“em”、“%”、“auto”等多种单位。
      图21 样式属性配置面板
  • 字体:设置字体大小、字体样式、颜色等。
  • 背景:设置背景颜色、透明度。
  • 边框:设置边框颜色、宽度等,支持“px”、“em”和“%”三种单位。
  • 阴影:设置阴影颜色、模糊、扩散等,支持“px”、“em”和“%”三种单位。
  • 高级设置:在高级设置中,直接编写CSS代码作用于当前元素。如图22所示,编写样式代码实现与图16相同的布局效果。
    图22 自定义CSS代码实现组件居中效果

    同一个组件如果在“基本属性”和“样式”中,同时对布局属性进行了设置,最终生效是“样式”栏中的设置。例如,一个“容器”组件在“基本属性”中勾选了弹性布局,又在“样式 > 布局”中选择了Block,最终这个“容器”组件中的布局为Block。

    • 样式源码:组件具体样式代码,组件样式设置后,样式代码将自动显示在“样式源码”中。也可以自定义样式代码,对组件进行详细配置。自定义代码支持多行输入,并高亮显示样式参数。
    • 样式类:当前组件使用的CSS样式类名,可在CSS代码中进行引用。

相关文档