idrawjs/idraw

我想问下,为什么idraw.updateElement不起作用了,没有报错,但也没起作用,官网里面的例子也不起作用了

hqhhtzj opened this issue · 5 comments

https://idraw.js.org/playground/?demo=api-updateElement,没更新,但是也没报错,是什么原因啊,最先开始用的时候都是可以的

然后我看Online Studio在线显示绘图是好的,但是我在git克隆了一份代码,啥都没改,也不行,没作用,闪一下,就又变回原值。
官方文档上的实例和Demo完整预览 Playground 上直接改也不行。

@hqhhtzj 请问能否提供一下问题的最小复现代码,我来检查一下。

// 您好,作者,感谢您的回复,就直接在官方文档上试就行,我本地和上面是一样的,用的是vue。idraw.updateElement感觉没起作用,更新不了。
import iDraw from 'idraw';
const app = document.querySelector('#app');
const options = {
width: 600,
height: 400,
contextWidth: 600,
contextHeight: 400,
devicePixelRatio: 4,
}
const idraw = new iDraw(app, options);
const data = {
elements: [
{
name: "rect",
x: 160,
y: 120,
w: 200,
h: 100,
angle: 30,
type: "rect",
desc: {
bgColor: "#d5f5f9",
borderRadius: 10,
borderWidth: 2,
borderColor: "#3f51b5",
},
}
]
}
idraw.setData(data);
const elem1 = idraw.getData().elements[0];

elem1.desc = { ...elem1.desc, ...{
bgColor: "#e99908", //这是土黄色
borderColor: '#e90808', //这是红色
}}
console.log(elem1,'=====') //这里打印出来值是赋上了的。
idraw.updateElement(elem1);
console.log(idraw.getData().elements[0],'mmmmmm') //这里打印出来图形的数据没更新,还是原值。且图形没有任何变化。

不仅仅是颜色更新不了,其他的属性也更新不了。希望作者大大帮我找下原因呢,感谢!

@hqhhtzj 问题已修复,麻烦更新到 v0.3.1版本