vue3使用orgchart

该博客展示了如何在Vue项目中使用orgchart.min.js库创建组织结构图。通过导入图片和定义节点数据,实现了包括总裁、经理及下属咸鱼员工的层次展示,并在页面加载时初始化图表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

orgchart.min.js

<template>
  <el-card>
    <div id="tree" ref="tree"></div>
  </el-card>
</template>
<script>
import { defineComponent, reactive, toRefs, onMounted, ref } from "vue";
import OrgChart from "/@/utils/orgchart.min.js";
import img1 from "/@/assets/head/2.jpg";
import img2 from "/@/assets/head/3.jpg";
import img3 from "/@/assets/head/4.jpg";
import img4 from "/@/assets/head/5.jpg";
import img5 from "/@/assets/head/6.jpg";
import img6 from "/@/assets/head/7.jpg";
import img7 from "/@/assets/head/8.jpg";
import img8 from "/@/assets/head/9.jpg";
export default defineComponent({
  name: "home",
  components: {},
  setup() {
    const tree = ref(null);
    const state = reactive({
      nodes: [
        {
          id: 1,
          name: "李总",
          title: "总裁",
          img: img1,
        },
        {
          id: 2,
          pid: 1,
          name: "邓总",
          title: "经理",
          img: img2,
        },
        {
          id: 3,
          pid: 1,
          name: "张总",
          title: "经理",
          img: img3,
        },
        {
          id: 4,
          pid: 2,
          name: "咸鱼1号",
          title: "咸鱼",
          img: img4,
        },
        {
          id: 5,
          pid: 2,
          name: "咸鱼2号",
          title: "咸鱼",
          img: img5,
        },
        {
          id: 6,
          pid: 3,
          name: "咸鱼3号",
          title: "咸鱼",
          img: img6,
        },
        {
          id: 7,
          pid: 3,
          name: "咸鱼4号",
          title: "咸鱼",
          img: img7,
        },
        {
          id: 8,
          pid: 3,
          name: "咸鱼5号",
          title: "咸鱼",
          img: img8,
        },
      ],
    });
    //页面加载
    onMounted(() => {
      mytree(tree.value, state.nodes);
    });
    const mytree = (domEl, x) => {
      new OrgChart(domEl, {
        nodes: x,
        nodeBinding: {
          field_0: "name",
          img_0: "img",
        },
      });
    };
    return {
      ...toRefs(state),
      tree,
    };
  },
});
</script>

在这里插入图片描述
在这里插入图片描述

### 在 Vue3 中集成和使用 vue3-org-chart 库 为了在 Vue3 项目中集成并使用 `vue3-org-chart` 库,以下是详细的说明与示例代码。 #### 安装依赖 首先需要确保项目中安装了 `vue3-org-chart` 库。可以通过 npm 或 yarn 进行安装: ```bash npm install vue3-org-chart ``` 或者 ```bash yarn add vue3-org-chart ``` 此步骤为必要操作[^1]。 #### 引入库并在组件中使用Vue3 组件中引入 `vue3-org-chart` 并定义组织结构数据。以下是一个完整的示例代码: ```vue <template> <div> <org-chart :datasource="chartData" /> </div> </template> <script> import { OrgChart } from &#39;vue3-org-chart&#39;; import &#39;vue3-org-chart/dist/style.css&#39;; export default { components: { OrgChart }, data() { return { chartData: { id: &#39;1&#39;, name: &#39;CEO&#39;, title: &#39;John Doe&#39;, children: [ { id: &#39;2&#39;, name: &#39;Manager A&#39;, title: &#39;Jane Smith&#39;, children: [ { id: &#39;3&#39;, name: &#39;Employee X&#39;, title: &#39;Alice Johnson&#39; }, { id: &#39;4&#39;, name: &#39;Employee Y&#39;, title: &#39;Bob Brown&#39; } ] }, { id: &#39;5&#39;, name: &#39;Manager B&#39;, title: &#39;Chris Lee&#39;, children: [ { id: &#39;6&#39;, name: &#39;Employee Z&#39;, title: &#39;Emily Davis&#39; } ] } ] } }; } }; </script> <style scoped> /* 自定义样式 */ </style> ``` 上述代码展示了如何通过 `datasource` 属性传递组织结构数据,并渲染出一个组织架构图[^2]。 #### 配置项说明 - `datasource` 是 `vue3-org-chart` 的核心属性,用于定义组织架构的数据结构。 - 数据结构要求每个节点包含 `id`, `name`, 和 `title` 属性,同时可以嵌套 `children` 属性来表示层级关系[^3]。 #### 样式调整 如果需要自定义样式,可以直接覆盖 `vue3-org-chart` 提供的默认 CSS 文件,或在 `<style>` 标签中添加额外的样式规则[^4]。 --- ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值