gojs 可以用在微信里面的小程序小程序里面么?

版权声明:本文为博主原创文章未经博主允许不得转载。 /sinat_/article/details/

在项目中需要根据传过来的数据画出流程图采用了GOJS插件,功能很全面可以根据自己的需要调整,不过建议簡单的流程图还是自己手写一个组件更加便于维护和变换。有一点需要注意的是GOJS是需要收费的,有水印虽然可以手动去掉,但是公司用的话还是需要买GOJS的官网上有关于在VUE中应用GOJS的小例子:。推荐看一下可以解决大部分简单需求,这个例子可以满足你并行步骤数比較固定的二叉树画法的流程图
这是官网的例子,其中模块线,箭头等画布元素都可以交互
由于我的并行步骤数不固定,于是在图中加入了Group(组)先展示一下成品:
其中批次中可以包含多个项目,表示并行的步骤

更新图中数据时需要的函数:

声明后在stepMap调用,比较重要的昰这两个方法:

最后将需要展示的数据转化为需要的格式就可以啦。

gojs的事件监听比较多比如给元素添加点击事件的话 

下边是官网的关于事件监听的介绍和方法

这里只是举了几个例子,更多的事件监听可以看

获取当前画布的json
 
  1. //用例获取选中的節点或线

  2. //获取第一个选中的节点或线

 
选中单个节点(不能批量选中)
 
 

模糊获取节点(版本1.68以上)

注意值类型字符串和数值

匹配方式默认为===运算符进行比较。

官网还有更多的匹配方式这里就不列举了

 
  1. //注意值类型,字符串和数值

 
  1. //首先拿到这个节点的对象

模糊获取线(版本1.68以上)

注意值类型,字符串和数值

匹配 方式和模糊获取节点的规则一致

 
  1. //注意值类型字符串和数值

根据甲,找甲的祖宗十八代(包括甲)

 

根据甲找甲的子孙十八代(包括甲)

 
 

根据甲,获取甲和其孩子的关系 

 
 
  1. //首先拿到这个节点的对象,这里直接通过节点的Key获取

  2. //也可以通过各种事件的返回的对象中获取

 
  1. //首先拿到这个节点的data对象

  2. //然后对这个对象的属性进行更改,如果没有则新增这个属性

根据key获取节点data对象

根据linkData模糊匹配线集合

 
  1. //根据Key获取节点数据对象

  2. //遍历输出所有线数据对象

 








参考以上考程能基本上把gojs弄懂

我要回帖

更多关于 微信里面的小程序 的文章

 

随机推荐