wfd-vue icon indicating copy to clipboard operation
wfd-vue copied to clipboard

请问能不能修改更新数据?

Open LiangQinAo opened this issue 4 years ago • 13 comments

我直接let json = this.$refs['wfd'].graph.save()获取数据 直接赋值 this.demoData = json 发现这样并不能正常更新数据?是什么原因?

LiangQinAo avatar Aug 06 '20 07:08 LiangQinAo

我直接let json = this.$refs['wfd'].graph.save()获取数据 直接赋值 this.demoData = json 发现这样并不能正常更新数据?是什么原因?

跟监听数据有关系, data(oldData,newData){ if(oldData !== newData) { if (this.graph) { this.graph.changeData(this.initShape(newData)); this.graph.setMode(this.mode); this.graph.emit('canvas:click'); if (this.cmdPlugin) { this.cmdPlugin.initPlugin(this.graph); } if (this.isView) { this.graph.fitView(5) } } } }, 并不能觉察到你的数据发生了变化

qinzitong avatar Aug 07 '20 02:08 qinzitong

我直接let json = this.$refs['wfd'].graph.save()获取数据 直接赋值 this.demoData = json 发现这样并不能正常更新数据?是什么原因?

跟监听数据有关系, data(oldData,newData){ if(oldData !== newData) { if (this.graph) { this.graph.changeData(this.initShape(newData)); this.graph.setMode(this.mode); this.graph.emit('canvas:click'); if (this.cmdPlugin) { this.cmdPlugin.initPlugin(this.graph); } if (this.isView) { this.graph.fitView(5) } } } }, 并不能觉察到你的数据发生了变化

感谢回复,我测试了一下 直接赋值的确不能监听到,反而我点击了一下" 查看流程 " 按钮,再赋值,监听到了,但是发生了报错。 Snipaste_2020-08-07_10-12-10

我想知道为什么默认的数据不能为空?如果默认数据是空的话会报错,并且完全瘫痪

LiangQinAo avatar Aug 07 '20 02:08 LiangQinAo

@Liang-aj 你可以试试 workflow-bpmn-modeler

Nayacco avatar Aug 07 '20 02:08 Nayacco

@Liang-aj 你可以试试 workflow-bpmn-modeler

谢谢回复,客户硬性要求这个的样式,没办法换其他方案

LiangQinAo avatar Aug 07 '20 03:08 LiangQinAo

我不太确定这个啥原因啊,vue我不太熟,react的话需要之行setState才能让页面感知到你的数据变化

guozhaolong avatar Aug 07 '20 03:08 guozhaolong

我不太确定这个啥原因啊,vue我不太熟,react的话需要之行setState才能让页面感知到你的数据变化

请问为什么原来的数据是空的话,会报错呢?

LiangQinAo avatar Aug 07 '20 03:08 LiangQinAo

hack 一下,如果没有数据的时候,用 v-if 把组件标签隐藏了,获取到数据以后,再显示出来,保证组件渲染的时候 data 已经有数据了

Nayacco avatar Aug 07 '20 03:08 Nayacco

hack 一下,如果没有数据的时候,用 v-if 把组件标签隐藏了,获取到数据以后,再显示出来,保证组件渲染的时候 data 已经有数据了

好的,我试试,我想知道关于那个XML该怎么使用?

LiangQinAo avatar Aug 07 '20 03:08 LiangQinAo

我直接let json = this.$refs['wfd'].graph.save()获取数据 直接赋值 this.demoData = json 发现这样并不能正常更新数据?是什么原因?

跟监听数据有关系, data(oldData,newData){ if(oldData !== newData) { if (this.graph) { this.graph.changeData(this.initShape(newData)); this.graph.setMode(this.mode); this.graph.emit('canvas:click'); if (this.cmdPlugin) { this.cmdPlugin.initPlugin(this.graph); } if (this.isView) { this.graph.fitView(5) } } } }, 并不能觉察到你的数据发生了变化

感谢回复,我测试了一下 直接赋值的确不能监听到,反而我点击了一下" 查看流程 " 按钮,再赋值,监听到了,但是发生了报错。 Snipaste_2020-08-07_10-12-10

我想知道为什么默认的数据不能为空?如果默认数据是空的话会报错,并且完全瘫痪

this.graph.changeData(data) this.graph.changeSize() 这两个方法可以使 图表跟着数据刷新

qinzitong avatar Aug 07 '20 05:08 qinzitong

我直接let json = this.$refs['wfd'].graph.save()获取数据 直接赋值 this.demoData = json 发现这样并不能正常更新数据?是什么原因?

跟监听数据有关系, data(oldData,newData){ if(oldData !== newData) { if (this.graph) { this.graph.changeData(this.initShape(newData)); this.graph.setMode(this.mode); this.graph.emit('canvas:click'); if (this.cmdPlugin) { this.cmdPlugin.initPlugin(this.graph); } if (this.isView) { this.graph.fitView(5) } } } }, 并不能觉察到你的数据发生了变化

感谢回复,我测试了一下 直接赋值的确不能监听到,反而我点击了一下" 查看流程 " 按钮,再赋值,监听到了,但是发生了报错。 Snipaste_2020-08-07_10-12-10 我想知道为什么默认的数据不能为空?如果默认数据是空的话会报错,并且完全瘫痪

this.graph.changeData(data) this.graph.changeSize() 这两个方法可以使 图表跟着数据刷新

谢谢!

LiangQinAo avatar Aug 07 '20 05:08 LiangQinAo

我赋值后,调用this.graph.changeData(data) ,还是无效。

2020-12-22 16_11_50-Edit vue - vuejs  SSH_ sandbox  - Visual Studio Code  Administrator

buzzlu avatar Dec 22 '20 08:12 buzzlu

this.graph.changeData(data)果然是无效

zongyan86 avatar Feb 05 '21 07:02 zongyan86

image newData,oldData需要反过来一下

sofm13 avatar Jul 16 '21 06:07 sofm13