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

表格

表格是一个组合组件,与模型绑定之后,可以提供快速构建基本表单能力,包括查询、保存、重置能力。同时,支持用户根据实际业务需求,进行二次修改编排。

在标准页面设计界面,从“基本组件”中,拖拽“表格”组件至页面工作区域,如图1

图1 表格

查看组件帮助

将鼠标放在对应的组件上,单击,可查看组件说明。

图2 查看组件说明

属性

  • 数据绑定:通过建立不同类型的视图模型,将各种数据源和组件的返回值或者属性值进行关联,实现动态数据效果。
    • 值绑定:设置组件绑定的数据模型,数据模型一般有以下几种。更多介绍,请参见值绑定
      • 自定义:由用户自定义的前端模型,可以在模型树上快速创建自定义字段。
      • 对象:由后台对象模型映射创建,支持选择字段。
      • 服务:由后台服务的出入参数模型创建,分别生成inputParam和outputParam节点。
      • 事件:由后台事件的字段映射创建,并且支持websocket刷新模型数据。
    • 属性值绑定,用于对该组件所有属性的动态设置。当某一属性被动态绑定时,以绑定值为准。更多介绍,请参见属性绑定
  • 表格列 > 已添加列
    • 合并:在已添加列中,选择了某几列,再单击“合并”,即可合并为一个大列,选中的列将作为大列的子列显示。
    • 分解:在已添加列中,选中某个包含多个子列的大列,再单击“分解”,即可分解此大列。
    • 添加字段:表格的列,当表格组件绑定了数据模型后,可选择绑定的模型中的字段成为表格的列,以及表格的查询条件。
    • 添加操作列:表格的列,在表格中添加可操作列,即在操作列中通过添加图标,并为图标添加onclick事件代码,实现某些功能,如删除、编辑等。
    • 添加空白列:表格的列,可添加表格空白列。
  • 表格分区 > 工具栏:扩展表格能力,为表格添加工具栏,提供增删改查以及保存的功能按钮。
  • 扩展属性
    • 自动加载数据:仅当模型为对象模型时有效,启用后,预览或加载页面时,将自动加载数据,不需要通过事件触发。
    • 可编辑:启用后,表格中每行的内容是否能进行编辑操作,不启用则内容为只读。
    • 单选:启用后,显示单选按钮。
    • 多选:启用后,显示多选按钮。
    • 行号:启用后,表格首列显示当前行号。分页时行号重新从1依次开始,不累加。
    • 累加行号:和“行号”只能启用其中一个,启用后,表格首列显示当前行号,分页时行号累加上前一页依次显示。
    • 最小列宽:设置最小列宽值。
    • 加载中状态:是否显示表格加载中状态。
    • 空数据提示:数据为空时,显示的提示内容。
    • 筛选为空提示:筛选数据为空时,显示的提示内容,仅当列筛选时生效。
    • 树形数据:当表格中的数据有父子关系,可开启树形数据,并指定关联字段后,可展示出树形结构。
      • 默认展开:开启树形数据时,子数据是否默认展开。
      • 可选择:开启树形数据时,是否启用父子关联选择。
      • 图标显示字段:开启树形数据时,图标所在位置显示的字段。不配置,就是第一列的字段。
      • 父节点字段:开启树形数据时,关联的父节点字段。
      • 子节点字段:开启树形数据时,关联的子节点字段。
      • 根节点字段值:开启树形数据时,根节点的字段值。不配置默认为空。
      • 子节点缩进:子节点缩进,单位px。
      • 行拖拽:开启树形数据时,是否启用行拖拽,拖拽行可改变数据的父子结构。
    • 风格
      • 尺寸:设置表格的尺寸。
      • 显示表头:启用后,表格显示标题行。
      • 斑马纹:启用后,表格会间隔显示不同颜色,用于区分不同行数据。
      • 纵向边框 : 启用后,显示一个纵向的选择框。
      • 高度跟随内容:表格行高度是否跟随内容多少变化。
      • AUI风格:是否开启AUI风格。
      • 表头样式类:表头固定的class类名。
      • 数据行样式类:表数据行class类名的回调方法,支持自定义各行数据不同的class类名。
      • 合并行或列:合并行或列的计算方法,支持自定义设置行或列的,单元格合并规则。

  • 公共
    • 控件名称:当前组件的名称。
    • 隐藏:是否隐藏该组件,此方式为静态配置该组件的隐藏。还可以将该组件属性值“隐藏”配置为布尔类型模型字段,在自定义JS代码中来控制模型字段取值,从而设置该组件是否隐藏,这种动态设置优先级是最高的。
  • 样式
    • 表格宽高:设置表格的宽度和高度。
    • 布局:设置表格显示样式、内外边距、宽高。
    • 字体:设置字体大小、字体样式、颜色等。
    • 背景:设置背景颜色、透明度。
    • 阴影:设置阴影颜色、模糊、扩散等,单位为px。
    • 高级设置
      • 样式源码:组件具体样式代码,组件样式设置后,样式代码将自动显示在“样式源码”中。也可以自定义样式代码,对组件进行详细配置,自定义代码支持多行输入,并高亮显示样式参数。
      • 样式类:当前组件使用的CSS样式类名,可在CSS代码中进行引用。
      • 样式透传:启用后,可以将设置好的样式透传给组件的子节点。

事件

在事件中,显示了组件暴露出来的一些常用事件,供用户实现,来扩展组件的交互。整个页面有加载(on-load)事件,该事件在页面渲染完成后执行,可进行数据初始化操作。更多关于事件的介绍,请参见主要事件说明

在库中,可配置页面需要的依赖库,扩展页面功能。库分为系统预置库和自定义库两种,更多介绍请参见如何引入第三方库

绑定数据模型、增加查询条件、工具栏

设置组件绑定的数据模型,有自定义对象、对象、服务和事件四种,本章节以绑定模型为例进行介绍。

  1. 在表格的“属性 > 数据绑定”中,单击,进入选择模型页面。
  2. 在选择模型页面,单击“新增模型”。
  3. 设置表格的元数据模型,模型名称设置“equipmentInstance”,来源选择“对象”,单击“下一步”。

    图3 创建对象数据模型

  4. 在选择对象页面,选择一个提前创建好的对象,例如“HW__Equipment__CST”,“选择字段”中选择表单中需要展示的字段,单击“下一步”,单击“确定”。
  5. 返回选择模型页面,勾选创建好的元数据模型,单击“确定”。

    绑定对象模型后,显示如下图所示。如果需要在每行添加行序号,可在表格的“扩展属性”中打开“行号”。

    图4 绑定数据模型后的结果列

  6. 选中上图中“已添加列”中的任意一项,单击,调整列的显示顺序。
  7. 单击上图中每个字段后的,修改列标题、是否隐藏、是否可编辑等字段属性。

    以“设备编码”为例,其属性配置如下图所示。在配置列标题时,可选择已有多语言、创建或更新多语言,此处创建的多语言会保存在租户的多语言库中。

    图5 设置“设备编码”列的属性

  8. 为表格增加操作列。

    1. 在左侧“设计视图”中选中“表格”,单击右侧“属性 > 表格列”中的

    2. 单击新建表格列,即Operation1后的
      图6 新建列
    3. 在“属性配置”页面,修改“列标题”为“操作”。
    4. 操作按钮中,单击“添加操作按钮”,设置“编辑”按钮的样式,如下图所示。
      图7 为操作列增加修改图标
    5. 在上图中单击事件图标,单击“动作列表”后的“+”号,在弹出的事件编排器右侧代码编辑区,添加如下事件代码,单击“创建”。
      //获取当前组件(即table)
      let _component = context.$component.current;
      //获取当前行row,取对象的id属性
      let rowId = _component.$attrs.row.id;
      //带着id跳转到设备详情页面
      context.$page.load('/besBaas/page#/HW__editEquipment?id='+rowId);
    6. 返回标准页面开发界面,单击页面上方的,保存页面。
    7. 按照上述操作,再次单击“添加操作按钮”,添加“删除”按钮。

      参照图7,设置按钮的“类型”为“主要按钮” 、“图标”为“android-delete”。

    8. 单击事件图标,在弹出的事件编排器右侧代码编辑区,添加如下事件代码,单击“创建”。
      //获取当前组件(即table)
      let _component = context.$component.current;
      //获取当前行
      let row = _component.$attrs.row;
      // 表格组件
      let _table = this.$component.table;
      // 删除当前行数据
      this.$dialog.confirm({
          title: '确认框',
          content: '确认是否删除?',
          okText: "确定",
          cancelText: "取消",
          onOk: () => {
              _table.doDelete([row]).then(()=>{_table.doQuery();})
          }
      })
    9. 返回标准页面开发界面,单击页面上方的,保存页面。

  9. 设置工具栏区域。

    1. 在左侧“设计视图”中,选中“表格”,单击右侧“属性 > 表格区块 > 工具栏”后的“添加”。
    2. 删除上图工具栏中多余的按钮,只保留“新增行”、“保存”和“删除”按钮。
    3. 单击页面上方的,保存页面。

树形数据功能介绍

当表格中的数据有父子关系,可在表格属性中开启“树形数据”开关,并指定关联字段后,可展示出树形结构。

例如,低代码平台中存在如图8所示的数据,数据之间存在父子关系,效果需要展示成“树形数据”,如图9所示,明确层级关系。

图8 数据源
图9 树形数据
  1. 首先查看数据对应的对象,查看数据列的字段名。

    若需要构造如图8所示的数据,在新建对象,新增如下图所示自定义字段后,打开布局页签,选中“对象名Records”数据记录页,新增图8所示的数据。

  2. 在标准页面中,选中表格组件,新增模型,设置为对象模型,选中1中的对象,设置表格数据源。

    图10 设置数据绑定
    图11 新增模型
    图12 设置对象模型
    图13 设置关联字段
    图14 选中模型

  3. 在标准页面中选中表格组件,开启“树形数据”开关,参考属性设置如下参数。

  4. 单击页面上方的,保存页面。
  5. 单击,预览该页面,可查看到如图15所示层级关系。

    图15 树形数据

引申说明

表格组件需要以树形展示有个前提条件,即表格绑定的模型中存在取值上有父子关系的两个字段。

图16 示例

上述模型中,“主管”字段的值来源于“名称”,这两个字段就可以认为是父(主管)子(名称)关系,而“部门”字段仅在逻辑上和“名称”是父子关系,取值上并不是,这一点极易混淆。基于上述前提,就可以在表格的属性面板中绑定上述模型,开启“树形数据”开关,然后配置“主管”为父字段,“名称”为子字段。

图17 配置父子节点字段
图18 设置后效果

相关文档