<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获取的节点顺序与选中的顺序一致?使操作更简便。
你的这个代码,如果点击了父节点,父节点也会push到你的数组里。