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

设置AstroZero标准页面上传组件属性

在标准页面中,使用上传组件来上传文件。

图1 上传组件

数据绑定

通过建立不同类型的视图模型,将各种数据源和组件的返回值或者属性值进行关联,实现动态数据效果。
  • 值绑定:值绑定类似vue中的v-model语法,组件上创建双向数据绑定。值绑定会根据组件类型,自动选取正确的方法来更新元素。同时,负责监视各类引起绑定数据变化的事件以更新数据。
    1. “数据绑定”中,单击“值(value)绑定”中的,进入选择模型页面。
    2. 单击“新增模型”,进入新增模型页面。
    3. 设置模型名称与来源,单击“下一步”。
      图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);
    4. 在新建模型“设置”页面,执行如下操作。
      • 上一步来源选择“自定义”,需要添加子节点自定义参数及类型。
      • 上一步来源选择“对象”,需要配置模型关联的对象以及字段。
      • 上一步来源选择“服务”,需要配置模型关联的后台服务,可以是脚本、服务编排或者公共接口。
      • 上一步来源选择“事件”,需要配置模型关联的事件以及事件字段。
    5. 单击“下一步”,设置方法。

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

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

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

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

基本属性

基本属性通过数据绑定后,在运行时以数据绑定的值为准。

  • 标签:设置组件的标签名,用于在界面展示。
  • 文本:上传按钮上,显示的文本。
    图4 设置后效果
  • 默认已上传的文件列表:默认已上传的文件列表。
  • 存储:上传文件的存储类型,单击该参数后的,可进行配置。
    • 存储:存储器类型。
      • OBS:通过OBS类型连接器,存储到OBS上。
      • MINIO:通过MINIO类型连接器,存储到MINIO上。
      • OBJECTSTORAGEPROXY:通过OBJECTSTORAGEPROXY类型连接器,存储到相应服务器上。
      • CUSTOMAPI:通过自定义接口,来上传和展示文件。
    • 连接器:当存储配置为OBS、MINIO或OBJECTSTORAGEPROXY时,该参数才会显示,表示具体的连接器。
    • 桶:当存储配置为OBS、MINIO或者OBJECTSTORAGEPROXY时,该参数才会显示,表示具体的存储桶。
    • 上传服务:当存储配置为CUSTOMAPI时,该参数才会显示,选择自定义接口实现上传文件的功能。
    • 展示服务:当存储配置为CUSTOMAPI时,该参数才会显示,选择自定义接口实现展示文件的功能。
  • 过滤文件类型:接受上传的文件类型,为文件原生的属性,会在选择文件时按照文件类型过滤,多个类型格式间以“,”符号隔开,如“image/jpeg,application/msword,text/plain”。
  • 支持文件类型:支持的文件类型,与“过滤文件类型”不同的是,该参数是识别文件的后缀名,“过滤文件类型”为原生的属性,会在选择文件时过滤,可以两者结合使用。
  • 支持多文件:文件是否支持多选。
  • 自定义文件名:上传单个文件时,可自定义上传的文件名。
  • 同名处理:防止同名文件覆盖,同名文件名后自动增加随机数,也可在“on-before-upload”事件中自定义处理文件名。
  • 上传路径:自定义服务器端上传路径,默认为uistudio/upload,上传路径不能是以“./”或“../”等开头的相对路径。
  • 文件数量:多文件上传时,最大文件数量限制,即允许上传的文件数量,超过此数量后,将不允许上传。
  • 文件大小:单个文件大小限制,单位kb。
  • 文件大小错误描述:当文件超过限制大小时,提示的错误描述。
  • 预览:是否开启预览,只在图片时生效。
  • 图片压缩:是否开启图片压缩功能,当前仅支持jpg、jpeg和png格式的图片。
  • 压缩尺寸:当“图片压缩”开关打开时,该参数才会显示。图片压缩尺寸,分为保持原尺寸和自定义尺寸。
    • 保持原尺寸压缩: 如果设置宽度,高度没设置或高度和宽度都设置了,宽度以设置的为准,高度则按照原来的宽高比例生成。 如果设置高度,宽度没设置,高度以设置的为准,宽度则按照原来的宽高比例生成。如果宽度和高度都没设置,宽高以原图片宽高为准。
    • 自定义尺寸压缩:宽度和高度两个属性都没有设置或者只设置了其中一个,没有设置值的属性以原图片的同属性值为准。
  • 压缩宽度(px):指定图片压缩的宽度。当“图片压缩”开关打开时,该参数才会显示。
  • 压缩高度(px):指定图片压缩的高度。当“图片压缩”开关打开时,该参数才会显示。
  • 图片压缩至指定大小(kb):将图片压缩至指定的大小以下。当“图片压缩”开关打开时,该参数才会显示。
  • 公开读:文件的访问控制权限,默认为“private”(私有),否则为“public-read”(公共读)。
  • 可选择:文件列表是否可以选择,仅为图片时有效。
  • 九宫格:九宫格形态展示图片列表,仅当上传全部为图片时开启效果较好,移动端每行展示4个并且大小自适应。
  • 是否多选:文件列表是否支持多选。当“可选择”开关打开时,该参数才会显示。
  • 选择类型:选择时,展示的样式,包含“遮罩层选择”或“选择框选择”两种类型。当“可选择”开关打开时,该参数才会显示。
  • 选择框内容:设置选择框的内容。当“选择类型”设置为“选择框选择”时,该参数才会显示。
  • 选中时显示内容:选中时,选择框显示的内容。当“选择类型”设置为“选择框选择”时,该参数才会显示。
  • 列表展示位置:相对于上传按钮,上传列表的展示位置,移动端仅下方展示。
  • 列表只显示进度条:上传列表的展示内容仅展示进度条,且文件上传完后进度条消失,目前适用于文档和压缩包。
  • 图片宽高:上传列表中单个图片的宽高,单位像素,移动端不生效。
  • 最大宽度:限制最大的宽度。

公共

  • 控件名称:当前组件的名称。
  • 隐藏:是否隐藏该组件,此方式为静态配置该组件的隐藏。还可以将该组件属性值“隐藏”配置为布尔类型模型字段,在自定义JS代码中来控制模型字段取值,从而设置该组件是否隐藏,这种动态设置优先级是最高的。
  • 禁用:是否禁用该组件。
  • 只读:组件是否只读。

样式

样式 > 高级设置 > 样式类中设置当前组件使用的CSS样式类名,可在CSS代码中进行引用。

相关文档