更新时间:2025-03-03 GMT+08:00
分享

设置华为云Astro轻应用标准页面表单组件属性

表单是一个组合组件,即可以直接绑定对象模型,构建基础表单能力,如保存、重置、查询(通过事件编排调用“getFormData”方法)。也可以在空表单中,添加其他可以绑定模型字段的组件,如输入框,下拉框等,以完成数据交互功能。

向页面中拖入一个表单组件,会弹出元数据表单配置向导页面。您可以在此时绑定一个对象模型(如绑定对象模型),或者单击“取消”,再在“数据绑定”下绑定一个模型,还可以在空表单中,设计好表单后,在表单中的某组件(如输入框、下拉框等)上绑定模型字段。

图1 元数据表单配置向导
图2 表单组件

数据绑定

通过建立不同类型的视图模型,将各种数据源和组件的返回值或者属性值进行关联,实现动态数据效果。
  • 值绑定:值绑定类似vue中的v-model语法,组件上创建双向数据绑定。值绑定会根据组件类型,自动选取正确的方法来更新元素。同时,负责监视各类引起绑定数据变化的事件以更新数据。
    1. “数据绑定”中,单击“值(value)绑定”中的,进入选择模型页面。
    2. 单击“新增模型”,进入新增模型页面。
    3. 设置模型名称与来源,单击“下一步”。
      图3 定义模型

      华为云Astro轻应用支持自定义、对象、服务和事件四类模型,每类模型都包含参数定义和方法定义。方法是在模型上定义的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);
    4. 在新建模型“设置”页面,执行如下操作。
      • 上一步来源选择“自定义”,需要添加子节点自定义参数及类型。
      • 上一步来源选择“对象”,需要配置模型关联的对象以及字段。
      • 上一步来源选择“服务”,需要配置模型关联的后台服务,可以是脚本、服务编排或者公共接口。
      • 上一步来源选择“事件”,需要配置模型关联的事件以及事件字段。
    5. 单击“下一步”,设置方法。

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

    6. 设置完成后,单击“确定”。
  • 属性值绑定:将容器组件的某个属性,如隐藏、样式、弹性布局等与具体的模型字段相绑定,绑定后组件的属性随模型字段的值变化而变化,类似Vue的v-bind。
    1. “数据绑定”中,单击“属性值绑定”后的“+”
    2. “属性”下拉框中,选择容器的某个属性。
    3. 在模型字段中,单击,进入选择模型页面。
    4. 单击“新增模型”,进入新增模型页面。
    5. 设置模型名称与来源,单击“下一步”。
      华为云Astro轻应用支持自定义、对象、服务和事件四类模型,每类模型都包含参数定义和方法定义。方法是在模型上定义的API,通常会在前台组件关联的事件脚本(例如页面加载事件、鼠标单击事件)中调用这些API,以实现某些功能。详细介绍,请参见表1
      图4 定义模型
    1. 在新建模型“设置”页面,执行如下操作。
      • 上一步来源选择“自定义”,需要添加子节点自定义参数及类型。
      • 上一步来源选择“对象”,需要配置模型关联的对象以及字段。
      • 上一步来源选择“服务”,需要配置模型关联的后台服务,可以是脚本、服务编排或者公共接口。
      • 上一步来源选择“事件”,需要配置模型关联的事件以及事件字段。
    2. 单击“下一步”,设置方法。

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

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

基本属性

  • 弹性布局:是否开启弹性布局。开启后,可以简便、完整、响应式的实现各种页面布局。
  • 列数:设置表单的列数。开启弹性布局时,才显示该配置。
  • 标签对齐方式:设置标签对齐方式,如左对齐、右对齐和上侧对齐。
  • 动态表单数据:请输入JSON格式的选项内容。

公共

  • 控件名称:当前组件的名称。
  • 隐藏:预览标准页面时,是否隐藏表单组件。
  • 禁用:是否禁用该组件。
  • 只读:值是否只读。

样式

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

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

绑定对象模型

绑定对象模型后,选择对象的字段,即可自动生成具有保存、重置、查询功能的基础表单。

  1. 配置数据源,在“请选择数据对象”中选择已创建的数据模型,并勾选需要展示的该对象字段,单击“下一步”。

    图6 选择数据源

    表单及其表单中的子组件绑定的模型字段需要是父子关系,中间不能跨级。

  2. 勾选表单需要显示的按钮,单击“完成”。

    图7 选择操作列按钮
    图8 表单属性页面

相关文档