element-plus
Version:
A Component Library for Vue 3
33 lines (30 loc) • 1.24 kB
JavaScript
import { defineComponent, inject, h, renderSlot } from 'vue';
import { ElText } from '../../text/index.mjs';
import { NODE_INSTANCE_INJECTION_KEY, ROOT_TREE_INJECTION_KEY } from './tokens.mjs';
import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
const _sfc_main = defineComponent({
name: "ElTreeNodeContent",
props: {
node: {
type: Object,
required: true
},
renderContent: Function
},
setup(props) {
const ns = useNamespace("tree");
const nodeInstance = inject(NODE_INSTANCE_INJECTION_KEY);
const tree = inject(ROOT_TREE_INJECTION_KEY);
return () => {
const node = props.node;
const { data, store } = node;
return props.renderContent ? props.renderContent(h, { _self: nodeInstance, node, data, store }) : renderSlot(tree.ctx.slots, "default", { node, data }, () => [
h(ElText, { tag: "span", truncated: true, class: ns.be("node", "label") }, () => [node.label])
]);
};
}
});
var NodeContent = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "tree-node-content.vue"]]);
export { NodeContent as default };
//# sourceMappingURL=tree-node-content.mjs.map