element-plus
Version:
A Component Library for Vue 3
18 lines (16 loc) • 535 B
text/typescript
import { h, defineComponent, inject } from 'vue'
import { ROOT_TREE_INJECTION_KEY, treeNodeContentProps } from './virtual-tree'
export default defineComponent({
name: 'ElTreeNodeContent',
props: treeNodeContentProps,
setup(props) {
const tree = inject(ROOT_TREE_INJECTION_KEY)
return () => {
const node = props.node
const { data } = node!
return tree?.ctx.slots.default
? tree.ctx.slots.default({ node, data })
: h('span', { class: 'el-tree-node__label' }, [node?.label])
}
},
})