3a25fa8af94a66393e45903d01e61db042bf777c03907b8c920494114e7caaea6b584f33781ea38a00bc801b3c6b4dfd5e4b5121df0a883bfa93a944c7e481 1.2 KB

1234567891011121314151617181920212223242526272829303132
  1. import { defineComponent, inject, h, renderSlot } from 'vue';
  2. import { ElText } from '../../text/index.mjs';
  3. import { NODE_INSTANCE_INJECTION_KEY, ROOT_TREE_INJECTION_KEY } from './tokens.mjs';
  4. import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
  5. import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
  6. const _sfc_main = defineComponent({
  7. name: "ElTreeNodeContent",
  8. props: {
  9. node: {
  10. type: Object,
  11. required: true
  12. },
  13. renderContent: Function
  14. },
  15. setup(props) {
  16. const ns = useNamespace("tree");
  17. const nodeInstance = inject(NODE_INSTANCE_INJECTION_KEY);
  18. const tree = inject(ROOT_TREE_INJECTION_KEY);
  19. return () => {
  20. const node = props.node;
  21. const { data, store } = node;
  22. return props.renderContent ? props.renderContent(h, { _self: nodeInstance, node, data, store }) : renderSlot(tree.ctx.slots, "default", { node, data }, () => [
  23. h(ElText, { tag: "span", truncated: true, class: ns.be("node", "label") }, () => [node.label])
  24. ]);
  25. };
  26. }
  27. });
  28. var NodeContent = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "tree-node-content.vue"]]);
  29. export { NodeContent as default };
  30. //# sourceMappingURL=tree-node-content.mjs.map