编辑导读:本文作者从自身工作经验出发,介绍中继器中Item与TargetItem的区别,以及如何实现移动行插入行的效果。本文适合对中继器中的数据集与元件间的映射逻辑、更新行和添加排序有简单了解的读者。

一、前言
在项目中因为有移动行和插入行的需求,为了更直观、具体的体现该效果,便想在Axure中实现出来。
在网上搜索相关资料与教程,发现涉及到TargetItem对象,但没有理解其应用原因及原理,在深入了解了TargetItem对象后,最终实现了效果。现把自己理解的总结出来,供大家参考。
二、效果
在上方插入:可在任意一行,点击相应图标后,在该行的上方插入一行。

在下方插入:可在任意一行,点击相应图标后,在该行的下方插入一行。

上移:可在任意一行(除第一行),点击相应图标后,将该行的上移一行。

下移:可在任意一行(除**一行),点击相应图标后,将该行的下移一行。

三、思路
不难发现,四种效果本质上都是“改变位置顺序”。
如果我们把所有行的位置顺序按12345…的“顺序号”依次排下去。那么以“在下方插入”为例,如:在1下方插入一行,可以简单的分为三个步骤:

四、实现
按照以上思路,我们在数据集中增加一列“OrderNum”来存储“顺序号”。

可能这里有童鞋会问,为什么不直接用index? 因为index只能递增,不能对其进行排序。
闽ICP备13000641号-4