0.6.0 • Published 3 months ago

family-tree-vue v0.6.0

Weekly downloads
-
License
MIT
Repository
github
Last release
3 months ago

family-tree

显示家族图谱的组件,参考Vue-Tree-Chart
支持鼠标滚轮缩放及鼠标拖拽

img

API

属性说明类型默认值
json树形数据NodeData-
defaultImage节点默认图片String-

Event

事件名称说明
click-node节点点击事件
zoom-end缩放结束事件

slot 插槽

名称说明
image自定义节点图片
name自定义节点文字描述
tools自定义工具栏

Example 示例

    <family-tree
      :json="data"
      style="height: 700px"
      @click-node="onClickNode"
      @zoom-end="onZoomEnd"
    >
      <template v-slot:image="node">
        <div class="avatar">
          <img :src="node.info.image" />
        </div>
      </template>
      <template v-slot:name="node">
        <div class="name">{{ node.info.name }}</div>
      </template>
      <template v-slot:tools="tools">
        <button @click="onClick(tools)">tools</button>
      </template>
    </family-tree>

数据定义

type KeyType = string | symbol;

interface UserInfo {
  name: string;
  image: string;
  gender?: number;
  age?: number;
  birthday?: string;
  relation?: string;
}

interface NodeData {
  id: KeyType;
  info?: UserInfo;
  class: Array<string>;
  extend?: boolean;
  children?: NodeDataList;
  mate?: NodeData;
}

type NodeDataList = Array<NodeData>;
0.6.0

3 months ago

0.3.0

3 years ago

0.2.0

3 years ago

0.5.0

3 years ago

0.4.0

3 years ago

0.1.0

3 years ago