riophae / vue-treeselect

A multi-select component with nested options support for Vue.js
https://vue-treeselect.js.org/
MIT License
2.91k stars 509 forks source link

@select事件如何获取选中节点的父节点以及祖先节点? #498

Open fendo8888 opened 2 years ago

fendo8888 commented 2 years ago

@select事件如何获取选中节点的父节点以及祖先节点?默认获取的是选中的节点,想要实现的是获取选中的节点以及父节点,有人说用插槽:

        <div slot="value-label" slot-scope="{ node }">
            <span v-for="item in node.ancestors.slice().reverse()" :key="item.value" >
              {{ item.label }} >
            </span>
          {{ node.label }}
        </div>

这只是显示,如何在@select事件里获取了?

vuvivian commented 2 years ago

@select事件如何获取选中节点的父节点以及祖先节点?默认获取的是选中的节点,想要实现的是获取选中的节点以及父节点,有人说用插槽:

        <div slot="value-label" slot-scope="{ node }">
            <span v-for="item in node.ancestors.slice().reverse()" :key="item.value" >
              {{ item.label }} >
            </span>
          {{ node.label }}
        </div>

这只是显示,如何在@select事件里获取了?

找到解决办法了吗

Juladoe commented 2 years ago
  // 获取当前元素
  const currentPositionNode = this.$refs.treeSelectPosRef.forest.nodeMap[node.id]
  // 获取当前元素的全部父节点
  const ancestors = currentPositionNode.ancestors