Files
element-plus/packages/components/tree/src/tree-node-content.vue
三咲智子 55348b30b6 style: use prettier (#3228)
* style: use prettier

* style: just prettier format, no code changes

* style: eslint fix
object-shorthand, prefer-const

* style: fix no-void

* style: no-console
2021-09-04 19:29:28 +08:00

31 lines
849 B
Vue

<script lang="ts">
import { h, defineComponent, inject } from 'vue'
import type { ComponentInternalInstance } from 'vue'
import type { RootTreeType } from './tree.type'
export default defineComponent({
name: 'ElTreeNodeContent',
props: {
node: {
type: Object,
required: true,
},
renderContent: Function,
},
setup(props) {
const nodeInstance = inject<ComponentInternalInstance>('NodeInstance')
const tree = inject<RootTreeType>('RootTree')
return () => {
const node = props.node
const { data, store } = node
return props.renderContent
? props.renderContent(h, { _self: nodeInstance, node, data, store })
: tree.ctx.slots.default
? tree.ctx.slots.default({ node, data })
: h('span', { class: 'el-tree-node__label' }, [node.label])
}
},
})
</script>