如何动态修改组件的样式?
leijunping opened this issue · comments
leijunping commented
可以参考官网的example https://github.com/bpmn-io/bpmn-js-examples/tree/master/colors
有几点需要注意:
-
overlay的方式,在移动画布的时候会照造成样式的短暂缺失
-
addMarker的方式,我的理解类似于给组件的某个元素增加了一个class类,那么我们就可以对它下面的所有子节点做自定义样式调节,只需要写CSS即可
3.要是你的组件是通过customRender创建的话,最理想的方式是用方法2,但是如果是非自定义render方式创建的组件,那么通过modeler.get('editorActions').trigger('setColor', {fill: XX, stroke: XX})来设定样式,同样是生效的,也是最简单的方式。我们修改连线颜色的话就可以用这种方式。
4.modeler.get('editorActions').trigger('setColor', {fill: XX, stroke: XX})方法只是对选中的元素生效,要是想要指定具体的元素:可以用__modeler__.get('modeling').setColor(modeler.get('elementRegistry').get("Action_1kfdira"), {fill:XX, stroke:XX})`
wangpeilin commented
厉害厉害୧(๑•̀◡•́๑)૭