拖放后如何重新排列列表上的元素?

时间:2019-12-03 12:14:03

标签: javascript reactjs ecmascript-6

当您通过拖放事件在列表上重新排列卡片时,我一直在查看Gitlab请求,但不确定如何使此命令起作用,我不确定。

Gitlab使用2个属性来设置元素id_before和id_after的位置,它们分别是元素的id之前和之后。

问题是我不确定,如何以desc顺序保持三个元素的顺序:

[{ id: 10, before_id: null, after_id: 20, list_id: 'cards_done' },
{ id: 20, before_id: 10, after_id: 30, list_id: 'cards_done' },
{ id: 30, before_id: 20, after_id: 40, list_id: 'cards_done' }
{ id: 40, before_id: 30, after_id: null, list_id: 'cards_done' }
]

我认为它只会更新重新排列的元素,然后将id为30的元素在id为10和id为20的元素内移动时,结果将如下所示:

[{ id: 10, before_id: null, after_id: 20, list_id: 'cards_done' },
{ id: 30, before_id: 10, after_id: 20, list_id: 'cards_done' },
{ id: 20, before_id: 10, after_id: 40, list_id: 'cards_done' }
{ id: 40, before_id: 30, after_id: null, list_id: 'cards_done' }]

然后,如果我重新加载并请求将所有具有相同list_id的卡以不同的顺序放入阵列,则使它们以正确的顺序出现在列表上的逻辑是什么? / p>

0 个答案:

没有答案