getCheckedNodes获取的节点顺序与点击选中的顺序不一致

<el-tree ref="tree_right" :data="data_right" show-checkbox :check-strictly="checkStrictly" node-
key="id" :load="loadNode" @node-expand="refresh_right" @node-collapse="refresh_right" @check-
change="check_right_change" lazy :key="tree_key">
</el-tree>
组件定义如上代码所示,树节点的复选框点击后触发check_right_change,在其内使用自带方法获取已选中节点;
点击后通过is判断是否选中,存下当前选中节点,得到order_checked。

element ui树组件中使用getCheckedNodes获取已选中节点的顺序,与点击的顺序不一致,check_right_change一部分代码:

check_right_change(param, is) {

if (is) { // 选中
    this.order_checked.push(param)
} else {
    const index = this.order_checked.findIndex(item => item.id === param.id)

    this.order_checked.splice(index, 1)
}

this.knode_checked = this.$refs.tree_right.getCheckedNodes() 
this.knode_id = this.$refs.tree_right.getCheckedKeys()

}

此时如果取消某个选中的节点,则需要更新order_checked及
操作效果如下图所示

图片描述

请问: 有没有方法类似getCheckedNodes获取的节点顺序与选中的顺序一致?使操作更简便。

阅读 11.4k
1 个回答
新手上路,请多包涵

你的这个代码,如果点击了父节点,父节点也会push到你的数组里。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题