0.0.10 • Published 4 years ago
前端可视化画布组件
可视化画布组件,集成g6,提供节点生成、连线、组合、删除、保存等功能
使用G6集成多种自定义行为,提供相应功能操作
使用说明
安装
npm install hatech-web-component-canvas
初始化
// main.js
import Vue from 'vue'
import HatechCanvas from 'hatech-web-component-canvas'
Vue.use(HatechCanvas)
// or
// xxx.vue
import { HatechCanvas } from 'hatech-web-component-canvas'
export default {
components: {
HatechCanvas
}
}
使用示例
<hatech-canvas :config="config" :data="data" @onEvent="onEvent"></hatech-canvas>
export default {
data() {
return {
data: [
...
],
config: {
...
}
}
},
methods: {
onEvent(args) {
const { event, params } = args
this[event] && this[event](params)
}
}
}
参数
参数名 | 类型 | 描述 |
---|
data | Object | 数据源 |
data.nodes | Array | 节点列表 |
data.edges | Array | 线列表 |
data.combos | Array | combo列表 |
config | Object | 配置 |
config.debug | Boolean | debug模式 |
config.id | String | canvas元素id |
config.modes | Array | 支持的模式 |
config.base | Object | 默认样式 |
config.base.edge | Object | edge默认样式 |
config.base.node | Object | node默认样式 |
config.base.combo | Object | combo默认样式 |
config.modes
支持模式说明node_create
: 创建节点模式node_edit
: 编辑节点模式edge_create
: 创建边模式edge_edit
: 编辑边模式combo_edit
: 编辑combo模式
config.base.edge
edge默认样式说明type
:类型style
:样式stateStyles
:各种状态样式label
:文本labelCfg
:文本样式
config.base.node
node默认样式说明labelPosition
: 文本位置labelAutoRotate
: 文本是否跟随旋转ctrlPointSize
: 控制点边长labelCfg
:文本属性keyShapeStyle
:主要图形样式anchorPointStyle
:锚点样式ctrlPointStyle
:控制点样式stateStyles
:各种状态样式
config.base.combo
combo默认样式说明padding
: 边距type
: 类型style
: 样式stateStyles
:各种状态样式
参数含义,可参照G6文档中node、edge、combo属性
插槽
事件
名称 | 说明 |
---|
onEvent | 事件统一处理 |
{event}, onSelectElement({ type, element }) | 选中元素后回调 |
{event}, onReset() | 重置模式 |
{event}, onDbClick({ type, element }) | 双击 |
onSelectElement
参数说明type
: 选中类型nodes
: 选中nodeedge
: 选中边combo
: 选中组合
element
: 选中元素实例
onDbClick
双击事件
方法
方法名 | 参数 | 作用 |
---|
add | type: 添加类型;model:数据源 | 添加新元素 |
remove | type: 删除的类型 | 删除元素 |
save | | 保存 |
buildCombo | | 生成组合 |
dismissCombo | | 解散组合 |
updateItem | element: 元素实体;params:更新参数 | 更新元素 |
主题变量
依赖
作者/维护者
名称 | 联系方式 | 参与部分 |
---|
吴浩 | wuhaowh@hatech.com.cn | 初始版本开发 |