bpmn-js-properties-panel改造尝试,思路代码(候选人、候选组改为可选【多选】)

一、效果

  1. 初始时与这个一样,通过输入框通过,分割,(但是事实的业务不可能让用户来自己输入)
    在这里插入图片描述

  2. 可以多选
    在这里插入图片描述

  3. xml保存
    在这里插入图片描述

二、思路

  1. 先找到我们要改造的节点
  2. 比如候选人candidateUsers
    在这里插入图片描述
  • 看看文件结构,在parts下【其中放了基本是创建元素的操作】
    在这里插入图片描述
  • 简单看看怎么创建元素的
    在这里插入图片描述
  1. 找到一个用选择器的元素(确定中的,get和set方法),cmdHelper的update...方法就是让我们保存xml时,会添加activiti:candidateUsers
    在这里插入图片描述

  2. 修改我们的UserTaskProps,先获取业务元素,然后像原来input输入框一样保存candidateUsers逗号分割的字符串
    在这里插入图片描述

  3. 最后就是回显的多选的问题了,<select>元素改成多选需要加multiple(其配合size属性),使选择器一次可以看到多个(直接设置multiple是让我们用ctrl+click多选,但是这对应我们工作流并不生效)

  4. 所以我们整一个直接通过单击click 实现的多选

原理是<select>元素中的option可以通过selected实现选中
所以我们可以在get方法中遍历当前的candidateUsers ,然后将其定义为选中达成回显的效果。【document.getElementById('activiti-candidateUsers-select').options[i].selected = true

三、最后的代码实现

// Candidate Users
    group.entries.push(entryFactory.selectBox({
   
   
      id : 'candidateUsers',
      label : translate('Candidate Users'),
      selectOptions: users,
      modelProperty : 'candidateUsers',
      description
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值