[]
        
立即下载
(Showing Draft Content)

表单

表单在活字格中是单元格类型,用于很常见的表单页面,此章节同样以实际场景来讲解如何使用表单单元格。作为填报部分的表单页面,当前web系统,最为常见的就是标签文本和输入框的表单项。

示例图中是最为简单的一种表单页面,是很常见的一种表单页面,接下来我们完成此部分的设置。

image

在设计器中,选择一片格子区域,拖拽表单单元格到此区域,如下图,选择了A2:AE15区域,放置了表单单元格。

image

接下来一步,拖拽想要显示的数据表到表单上,然后选择需要的字段以及调整字段的显示顺序,点击确定,快速一键生成所需要的表单数据。

image

image

表单属性功能介绍

  • 布局:多列和行内表单,两种布局方式都很常见,本章节稍后会使用实际场景介绍这2种布局

  • 表单列数:当布局为多列时,控制显示的列数,表达式(高级功能,可以根据自己的业务场景,在运行时通过表达式,动态控制表单的列数)

  • 标签与输入框的位置:上下或者左右,2种场景可以按实际业务场景选择,简单易懂,此处就不详细介绍,只需要在活字格中配置一下,即可看到效果

  • 标签与输入框的间距:简单易懂,此处就不详细介绍,只需要在活字格中配置一下,即可看到效果

  • 标签必填标记位置:简单易懂,此处就不详细介绍,只需要在活字格中配置一下,即可看到效果。需要注意的是,只是显示标记,并没有实际数据验证的功能,如果需要实现数据校验,需要在输入框的数据校验配置校验规则以达到实际的数据校验效果,此处只是配置标签显示必填标记的位置

  • 标签样式:配置标签的样式,字体,前景色等等,简单易懂,此处就不详细介绍,只需要在活字格中配置一下,即可看到效果

  • 表单项行间距:多行之间的行间距

  • 表单项列间距:多列之间的列间距

  • 显示错误信息至:此选项需要配合设置输入类单元格的数据校验,当数据校验规则不通过时,控制错误信息显示的位置

  • 容器溢出模式:当表单内的字段多,超出容器时,此模式控制溢出的行为

  • 容器内边距:控制整体表单内容与表单容器在上下左右的边距,简单易懂,此处就不详细介绍,只需要在活字格中配置一下,即可看到效果

多列表单

接下来我们调整细节,以理解上面的表单的属性功能,当数据字段比较多,显示不全时的解决方案。

  • 方案一:表单中按多列显示,默认是一列,可以配置2列或者3列。

  • 方案二:保持一列的显示方式,将表单容器的高度增大,注意不是简单的拉高表单所在的格子区域,而是希望表单的高度能够根据字段自适应。

方案一的实现方式,设置表单的列数为3,可以看到表单区域显示出所有的字段。

image

运行查看效果,可以看到,表单内的字段,按3列从左到右依次显示。

image

如果我们想进一步,让表单的宽度充满整个浏览器的宽度,而不是固定的上面的宽度,此处就需要设置格子的列宽为范围模式,关于格子的布局,详见格子布局的功能介绍。

image

运行查看效果,表单充满整个宽度,表单内的3列字段,宽度相同的充满整个表单。

image

方案二:设置表单为自适应,表示按表单内的字段多少,计算表单的高度,达到自适应高度的需求。

回到设计器,选择表单所在的任意一行,设置行高为自适应模式,表示这一行的高度受内容的高度影响。

image

运行查看效果,可以看到表单的行高,根据内容自动撑高了,此处使用的是格子的自适应模式,具体可以查看格子布局的功能介绍章节。

image

标签与输入框

表单内是由一组表单项构成,每个一个表单项包含标签与输入框,所以标签与输入框的布局,间距,样式,可以按照需求进行配置,此处就不详细介绍了,属性简单,可以在设计器中设置查看效果。

image

左右布局时,当标签文本过长时,会出现显示不下的情况,如上图的计划开始日期等,解决方案是什么呢?

标签大小,选择 自定义,然后设置自定义标签大小,以显示全所有标签内容。

image

数据校验

表单中常见的数据校验该怎么实现,比如上面表单项中,产品名称为必填项。按下面步骤设置。

  • 选择产品名称,在属性面板中,点击 表单项设置 对话框,勾选 显示必填标识。

    注意,此处只是显示必填标识,并不具有任何的数据校验行为。

    image

  • 点击 数据校验 ,弹出对话框,反勾选 忽略空值(必填)。

    image

运行,点击产品名称输入框,然后点击其他输入框,触发数据校验,并且错误信息显示在输入框的下方,错误信息的位置,可以在表单的属性中通过配置 显示错误信息至 来改变。

image

回到设计器,选择表单,在属性面板中,将显示错误信息至,改成 自动。

image

运行,点击产品名称输入框,再点击其他输入框,查看效果,错误信息以 提示信息的方式弹出显示,不需要占据空间。

image

数据校验的错误信息显示位置,根据业务场景自行选择,当表单项的间距比较宽(通常需要>20px)时, 能够较好的显示错误信息,选择将错误信息显示到输入框下方。但是当表单中表单项很紧凑时,则更推荐使用自动模式,错误信息以 tooltip方式显示。

表单项设置

在表单内的单元格,属性面板中都有表单项设置属性,前面我们使用了显示必填标识,下面我们再列举几个常见场景的示例,解释其他选项的功能。

我们经常在一些表单中,会见到一些表单项占据比较宽的位置和高度,因为其信息内容较多,如下图的备注。

如何做出此效果呢?

image

在设计器中,我做了以下设置:

  • 在表单中,我将背景字段和备注字段调整了下顺序,在表单中,选择备注,直接拖拽到背景字段后面即可。

  • 然后将备注的单行输入框,换成多行输入框,如何替换单元格呢?很简单,选择备注,在单元格类型中,双击多行输入框即可将当前的单元格换掉。

  • 选中备注,点击 表单项设置,在对话框中,设置表单列数为3,表示此表单项的宽度占据3列。

    高度为64,让备注的表单项的高度拉高到64px。

    image

运行查看结果,备注表单项,宽度占据了3列的宽度,并且高度为64px。

image

但是有的场景下,是希望高度根据内容自适应,怎么办呢?回到设计器,依旧选择备注,再次打开,表单项设置对话框,勾选 允许根据内容拉伸表单项高度。

image

运行,在备注输入框中,输入多行数据,查看效果,如下图。

注意,在多行输入框内输入多行数据时,备注表单项的高度不会实时变高或者变少,而是需要离开焦点之后,才能根据内容计算需要的高度。

image

以上就是表单项中常用的表单项设置属性,在表单项属性中,还有 标签样式,项目容器CSS类名,通常是在特殊场景下,对于特定标签设置不同的样式,css属性更高级的定制灵活的样式。

表单页的典型场景实现

场景一:表单带按钮组

通常,表单页面的下方,紧跟有按钮组,下图中是上一步,下一步按钮,有时是提交,取消按钮。这种场景该如何实现呢?

image

表单中放置弹性布局,然后拖拽2个按钮到弹性布局中,水平排列,我们依旧使用前面的表单继续演示。

  • 拖拽弹性布局到表单中。

  • 拖拽2个按钮到弹性布局中,文本分别为确定,取消。

发现和我们想的效果不一样,宽度、高度不一样,并且还有个不需要的标签,下面继续优化。

image

  • 选择弹性布局,属性面板中,去掉 标签文本属性的 标签 文本。

  • 点击 表单项设置,设置表单项列数为3,高度为32。

看下图的设置,现在达成期望的效果。

image

运行查看效果,按钮组以弹性布局的方式,紧跟着在所有表单项的下方显示,但是感觉在这种方式下,标签靠右显示,让整体效果看出来不够整齐,我们继续调整。

image

回到设计器,选择表单,点击 标签样式,把水平对齐方式,改成 靠左。

image

运行查看效果,一个带有按钮组的简单表单页面完成。

image

场景二:表单页面,按钮操作栏在底部。

场景一中的按钮操作栏紧跟在所有表单项的下方显示,还有一种场景则是,按钮操作栏在页面底部显示,如下图。这种场景该如何实现呢?

image

回到设计器,场景一中,是把弹性布局放置到了表单中,那现在场景二中,我们将弹性布局放在表单单元格的下方,注意,不是放在表单内,是和表单单元格一样,在格子区域,在表单单元格的下方,如下图。

  • 第2至15行为表单单元格,具体表单内的设置,参考前面表单的设置。

  • 第16至18行,合并单元格区域,放置了弹性布局,在弹性布局内放置了2个按钮,设置居中显示。

关于弹性布局,请在弹性布局功能详解中进行学习使用。

image

运行查看效果,发现按钮操作栏,并没有在浏览器的底部显示,依旧是在表单的下方显示。这是因为表单的高度是固定高度,我们需要将表单的高度拉高,充满浏览器剩余高度。

image

回到设计器,选择表单所在的任意一行,设置行高,为范围模式,关于格子布局的范围模式,详见格子布局功能介绍章节。

image

运行查看效果,可以看到,按钮操作栏显示到了底部。当然可以看到,我的效果图中,按钮组上方有一条分割线,这是怎么做的呢?很简单,就是给弹性布局设置了快速样式(灰色的上边框)。

image

关于场景一和场景二,两种不同的方式,区别在于,按钮操作栏是跟随表单显示,还是脱离表单区域进行显示,可以根据实际的业务场景,选择其中的场景使用。

场景三:组合单元格的表单项

往往在一些表单页面中,表单项并不是简单的一个输入框,可能是一些组合的情况,如下图,输入框右侧显示一个文本“单位”,该怎么实现呢?

image

其实实现的方式,也很简单,表单中除了可以放置输入类的单元格,也可以放置其他单元格,比如弹性布局,在上面的场景一中,就给大家演示了,表单中放置弹性布局显示按钮组的情况。同样的,此处我们依然可以使用弹性布局用于显示组合情况下的UI布局。

回到设计器,我们还是以前面的表单示例来演示。

  • 拖拽弹性布局到表单中,比如下图,在背景表单项后面。

  • image

  • 拖拽输入框到弹性布局中,再拖拽一个文本单元格到弹性布局中,如下图。

    image

  • 调整一下弹性布局中输入框和文本的宽度,关于弹性布局的设置,详见弹性布局功能详解章节。

    • 选择弹性布局中的输入框,点击项目在容器内的布局,将放大比例 和 缩小比例都设置为1。

    • 选择弹性布局中的文本,点击项目在容器内的布局,将宽度设置为40。

    • 选择弹性布局中的文本,将文本,改成 单位。

      image

运行查看效果,完成表单项中组合情况的UI。此场景我们使用了弹性布局,用于显示更丰富的内容和布局,学会之后,后面表单项中复杂的布局,都可以使用弹性布局嵌套解决。

注意:我只是将布局完成,输入框的绑定没有设置,需要绑定正确的字段。