@@ -113,18 +113,18 @@ const timer = ref()
113
113
provide (' prefix' , props .prefix )
114
114
provide (' width' , props .width )
115
115
const bpmnInstances = () => (window as any )?.bpmnInstances
116
- const initModels = () => {
117
- // console.log(props, 'props')
118
- // console.log(props.bpmnModeler, 'sakdjjaskdsajdkasdjkadsjk')
119
- // 初始化 modeler 以及其他 moddle
120
- // nextTick(() => {
121
- if (! props .bpmnModeler ) {
116
+
117
+ // 监听 props.bpmnModeler 然后 initModels
118
+ const unwatchBpmn = watch (
119
+ () => props .bpmnModeler ,
120
+ () => {
122
121
// 避免加载时 流程图 并未加载完成
123
- timer .value = setTimeout (() => initModels (), 10 )
124
- return
125
- }
126
- if (timer .value ) {
127
- clearTimeout (timer .value )
122
+ if (! props .bpmnModeler ) {
123
+ console .log (' 缺少props.bpmnModeler' )
124
+ return
125
+ }
126
+
127
+ console .log (' props.bpmnModeler 有值了!!!' )
128
128
const w = window as any
129
129
w .bpmnInstances = {
130
130
modeler: props .bpmnModeler ,
@@ -137,12 +137,16 @@ const initModels = () => {
137
137
replace: props .bpmnModeler .get (' replace' ),
138
138
selection: props .bpmnModeler .get (' selection' )
139
139
}
140
+
141
+ console .log (bpmnInstances (), ' window.bpmnInstances' )
142
+ getActiveElement ()
143
+ unwatchBpmn ()
144
+ },
145
+ {
146
+ immediate: true
140
147
}
148
+ )
141
149
142
- console .log (bpmnInstances (), ' window.bpmnInstances' )
143
- getActiveElement ()
144
- // })
145
- }
146
150
const getActiveElement = () => {
147
151
// 初始第一个选中元素 bpmn:Process
148
152
initFormOnChanged (null )
@@ -190,11 +194,7 @@ const initFormOnChanged = (element) => {
190
194
)
191
195
formVisible .value = elementType .value === ' UserTask' || elementType .value === ' StartEvent'
192
196
}
193
- onMounted (() => {
194
- setTimeout (() => {
195
- initModels ()
196
- }, 100 )
197
- })
197
+
198
198
onBeforeUnmount (() => {
199
199
const w = window as any
200
200
w .bpmnInstances = null
0 commit comments