內容概述
前情提要
上文我們已經實現了在外部更改節點名。此時又有新玩法:在流程圖中,根據節點狀態為其標記不同顏色。例如:已完成:黃色,正在進行:綠色,本次我們通過兩種方式來實現該需求。效果:
方式1:modeling.setcolor
modeling.setcolor接受兩個引數:引數1:節點例項,可以是單個元素,也可是多個節點組成的陣列,引數2:class類
let modeling = this.bpmnmodeler.get('modeling');方式2:overlaymodeling.setcolor(節點例項, );
個人理解,overlay是通過定位方式在元素正上方新增一層帶顏色的蒙板
const $overlayhtml = $('').css();highlight-overlay:css中宣告好的class類名overlays.add(節點id, ,
html: $overlayhtml
});
overlays.add將建立好的蒙板定位到指定節點位置,此時節點id就是目標節點的唯一身份!
注意事項
上述兩種方式均能實現為節點新增顏色。但方式2有一點***,如果此時你為節點註冊了點選事件,在節點被點選的時候要做某些處理。此時方式2會使節點點選事件失效。
原因:方式2中,此時節點上方有一層蒙板,並且和節點等寬等高,相當於節點被蒙板完全覆蓋。所以點選節點的時候,點選的是蒙版,不是節點。
不要慌,有解決辦法!此時為蒙板註冊了點選事件,將點選節點要做的操作給蒙板也來乙份,哈哈
import $ from 'jquery'; //後續上文**都是片段,特此附上完整**:老規矩:data中的chart變數流程圖xml檔案資料,由於行數過多,附在了附件中(點我!點我),使用時,將附件內容複製過來,賦值給chart即可執行!引入jquery
$(".djs-container").on("click", ".djs-overlays", (e) =>);
看我!我是點選的節點名稱啊~view code}
可愛的你可能還需要
vue專案中使用bpmn-流程圖json屬性轉xml(七篇更新完成)
vue專案中使用bpmn-流程圖xml檔案中節點屬性轉json結構
vue專案中使用bpmn-自定義platter
vue專案中使用bpmn-節點篇(為節點新增點選事件、根據id找節點例項、更新節點名字、獲取指定型別的所有節點)
vue專案中使用bpmn-流程圖預覽篇
vue專案中使用bpmn-基礎篇
vue專案中使用jQuery
這裡是引入全域性的jquery 1.在package.json檔案中,devdependencies 物件中新增 jquery 3.1.1 2.在build資料夾下的webpack.base.conf.js檔案中新增 var webpack require webpack 增加乙個plugins p...
vue 專案中使用 jquery
在 vue 專案中使用 jquery,具體步驟如下 1 npm 安裝 jquery 命令如下,後邊指定安裝的 jquery 版本 npm install jquery 3.2.1不加 會安裝最新版本 npm install jquery命令執行成功後,會在 package.json 檔案中自動生成 ...
vue專案中使用mui
vue搭建環境 hbuilder編輯器。我不喜歡用hbuilder寫 在使用vscode 使用的是vue cli腳手架。這個就不多bb了,之後對檔案做了簡單的調整。還是直接貼圖吧 基本的頁面準備工作完成assetspublicpath 之前是 改為 使build之後的專案能在本地執行 product...