LinDaiDai / bpmn-chinese-document

📒 全网最详bpmn.js中文教材/文档

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

左侧工具栏拖拽出现的元素如何设置默认的Label或者添加自定义属性?

LinDaiDai opened this issue · comments

这个其实很好实现。如果你是用的自定义 palette 的话,试想一下,在 dragstart 和 click 事件的时候会执行一个创建节点的函数。那么我们就可以直接修改 businessObject['name'] = '霖呆呆' 就可以了。

效果如下:

代码如下:
// customPalette.js中

export default class CustomPalette {
    function createTask() {
        return function(event) {
            const businessObject = bpmnFactory.create('bpmn:Task');
            businessObject['custom'] = 1
            businessObject['name'] = '霖呆呆'
            const shape = elementFactory.createShape({
                type: 'bpmn:Task',
                businessObject
            });
            console.log(shape) // 只在拖动或者点击时触发
            create.start(event, shape);
        }
    }

    return {
        'create.lindaidai-task': {
            group: 'model',
            className: 'icon-custom lindaidai-task',
            // className: 'bpmn-icon-user-task',
            title: translate('创建一个类型为lindaidai-task的任务节点'),
            action: {
                dragstart: createTask(),
                click: createTask()
            }
        }
    }
}