4.3 中继器元件

中继器元件是自Axure RP 7起推出的新元件,与动态面板元件一样经常被用于实现复杂的交互功能。中继器操作相对复杂,创建后需要编辑内部每一组数据项的内部布局,可设置包括多少数据列(一般与内部布局的可设置的动态元素个数对应),也可设置中继器包括的数据行的内容;并可通过每项载入时事件,将数据行的内容赋值给每一组数据项内部的元件,还可设置每行显示多少组数据项。

当然,中继器的强大之处还在于,在各事件中,可设置中继器的动作(添加排序、移除排序、添加筛选、移除筛选、设置当前显示数量、设置每页项目数量、设置数据集,例如添加行、标记行、取消标记、更新行和删除行)对中继器进行内部操作,因为这些功能,中继器元件比表格元件强大很多,完全可以替代表格元件完成更复杂的功能。该部分内容会在后续的案例中进行详细讲解。

1.创建中继器元件

从“元件库”面板拖动一个中继器元件到“页面设计”面板,并在“检视”面板将该元件命名为productRepeater,如图4-9所示。

2.编辑中继器元件内部内容

双击创建的productRepeater中继器元件,可进入中继器元件的内部设计界面,默认其内部有一个矩形元件,可以自行创建内容。可以从“元件库”面板拖动 1 个矩形元件、1 个图片元件、1个文本框元件到中继器内部界面,并分别命名为:rect1、dressImg和nameLabel 3个元件的位置分别为:X0;Y0、X0;Y1 和 X10;Y304,3 个元件的大小分别为:W228;H342、W226;H293和W164:H20(注:W表示宽度,单位为像素,H表示高度,单位也是像素,本书后续表示元件大小时,皆为这种表示方式)。编辑完成后,中继器内部如图4-10所示。

图4-9 中继器元件(默认)

图4-10 中继器元件编辑页面

3.设置中继器元件数据行和数据列

切换回主页面,单击选择productRepeater中继器,之后在“检视”面板的“属性”选项卡可看到中继器元件数据行和数据列的设置页面,如图4-11所示。

因为 productRepeater 中继器内部有两个需要动态复制的元件,1 个图片元件(商品图片)和 1 个文本框元件(商品名称),所以,给这个中继器设置两列,分别为 productImg 和productName。准备6张图书图片作为商品图片,尺寸为宽度226像素,高度为293像素。

将第一列productImg的所有行的文字内容清空,之后单击第一行的第一列的单元格后,右击选择“导入图片”命令,选择我们已经准备好的图片“商品图片1”,之后选择第一行第二列的productName,设置该行的商品名称为“快速阅读术”,全部内容设置完成后,中继器元件的数据行和列的界面如图4-12所示。

图4-11 中继器元件设置数据行和列(默认)

图4-12 中继器元件添加6行2列

4.设置中继器的每项加载时事件

为了让我们设置的2列6行的数据作用于productRepeater中继器元件,需要设置“每项加载时”事件。在主页面选中productRepeater中继器元件,之后在“检视”面板的“属性”选项卡设置“每项加载时”事件(事件内容后续会有章节详细讲解,在此了解即可),将数据项的内容赋值给中继器内部的dressImg和nameLabel元件,如图4-13所示。

此时,在“页面设计”面板可看到显示效果,如图4-14所示。

图4-13 设置中继器元件每项加载时事件

图4-14 中继器元件显示效果

5.设置中继器元件显示效果

中继器元件默认是每一行都分行显示,如果想设置为每行3 个商品,此时,可以选中中继器元件后,在“检视”面板的“样式”选项卡,设置“布局”属性为“水平布局”,勾选“网格排布”,并设置“每排项目数”为 3,设置完成后,使用菜单栏的“发布”→“预览”命令,或者按〈F5〉快捷键查看预览效果,如图4-15所示。

图4-15 中继器元件案例预览效果