需求:在树结构之中, 添加排序功能, 可以点击按钮对节点进行上下的排序;在进行排序的时候, 若当前节点已经选中, 排序之后还是需要保持选中状态
问题:在进行排序的时候,点击按钮对当前节点进行排序, 但是选中状态没有保持;
解决过程:在开始查看的时候, 已经在排序方法changeSort完成后调用了handlecheckchange这个方法, 但是在执行中, 发现这个发法调用了两次,并且我希望执行的这个handlecheckchange被后一个handlecheckchange覆盖了,所以选中没有效果。排查了很久,也不知道为什么会这样,最后应该是我对数据进行改变的时候改变了节点里的什么地方,或者是我的数据没有响应, 才产生这样的问题把,但是应该也不会让这个方法执行两次。 不过也希望有大佬可以说一下。
最后解决方法:既然你执行两次, 而且我在changeSort方法中执行的handlecheckchange被覆盖了, 那就让changeSort方法中的handlecheckchange最后执行, 加上$nextTick, 就可以了。
这样排序后, 之前如果是选中状态, 排序之后也是选中状态。解决。