本文分享解决一个对一组列表项点击上下移动修改其排序位置的问题。
欢迎讨论和吐槽。
问题描述
- 这个问题其实很简单,实现的方式也不止一种,这里主要分享我实现的方法;
- 问题是有一列选项,按一定顺序显示,可以通过上下移动修改其显示顺序;
- 顺便说一句,曾经有一次面试,面试官问我的就是这个问题,当时并没有回答出来。 = =
问题解决
这里我当时的考虑是加一个字段order用来排序,觉得上移就减少这个order值,下移就增加这个值,按照这个思考就有点复杂;
还是根据这个思路,后来的实现是在移动过滤中,交换应该和它交换的项的order值,就可以实现排序,参考下方:
C上移:order1 B order2 C order3
这样根据order排序显示就可以达到显示目的。A order1 B order3 C order2
总结
- 这个问题不难,关键要实现的巧妙,单独添加字段用来排序,不影响原有功能。
- 继续思考其他方案