问题描述
n-tree-select在选择框中的树形列表中,通过节点前的展开图标展开父节点时,同时触发了选择事件,导致选择框收起,同时父节点被选择。
经过调试和源码分析,原因出在Naive TreeNode.js中使用的utils库:seemly中的happensIn工具函数,这个函数用于检测事件(如点击事件)是否发生在当前元素的某个子孙元素上(根据个人理解,类似于起到阻止事件冒泡的作用)。主要原因是happensIn函数内部的事件目标对象e.target和e.currentTarget的识别、处理及使用。
解决
将seemly库的版本从0.3.6升至0.3.8即可正常使用n-tree-select组件。