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